/// <summary> /// Führt das übergebene <paramref name="SQL_Statement"/> auf dem Microsoft SQL-Server aus und gibt das Ergebnis als <see cref="SQL_Result"/> zurück. /// </summary> /// <param name="SQL_Statement">Die Zeichenfolge, die die SQL-Abfrage enthält.</param> /// <returns>Gibt das Ergebnis der SQL-Abfrage zurück.</returns> public SQL_Result ExecuteSQL(string SQL_Statement) { SQL_Result result = new SQL_Result(false, null); if (ConnectionState != ConnectionState.Open && Connect() != ConnectionState.Open) { return(result); } SqlCommand cmd = new SqlCommand(); cmd.CommandText = SQL_Statement; cmd.Connection = SQL; DataSet ds = new DataSet(); SqlDataAdapter sda = new SqlDataAdapter(); sda.SelectCommand = cmd; try { sda.Fill(ds); result.Data = ds; result.Success = true; } catch { result.Success = false; } return(result); }
/// <summary> /// Asnynchroner Aufruf von <see cref="ExecuteSQL(string)"/>. Sobald eine Antwort von dem Microsoft SQL-Server vorliegt wird <paramref name="CallBack"/> aufgerufen. /// </summary> /// <param name="SQL_Statement">Die Zeichenfolge, die die SQL-Abfrage enthält.</param> /// <param name="CallBack">Der <see cref="Delegate"/>, der aufgerufen wird, wenn eine Antwort von dem Server vorliegt.</param> public async void ExecuteSQL(string SQL_Statement, Action <SQL_Result> CallBack) { SQL_Result results = new SQL_Result(false, null); await Task.Run(() => { results = ExecuteSQL(SQL_Statement); }); CallBack.Invoke(results); }