/// <summary> /// /// </summary> /// <param name="table"></param> /// <param name="query"></param> /// <param name="S">delegate(DbOp op, string query, TConnection connection)</param> /// <param name="Fill">delegate(TAdapter A, DataSet D, string tablename)</param> /// <returns></returns> public DataSet Delete(string table, string query, CBRowParam S, CBDataFill Fill) { DataSet ds = new DataSet(data_id ?? ""); using (TConnection C = this.Connection) { using (TAdapter A = S(DbOp.Delete, query, C)) { C.Open(); if (A.DeleteCommand != null) { A.DeleteCommand.ExecuteNonQuery(); } try { if ((A.SelectCommand != null) && !string.IsNullOrEmpty(A.SelectCommand.CommandText)) { A.SelectCommand.ExecuteNonQuery(); Fill(A, ds, table); } } catch (Exception error) { #if DEBUG System.Diagnostics.Debug.Print("Select Command from within a DELETE command."); throw error; #endif } C.Close(); } } return(ds); }
/// <summary> /// This executes two separate queries if they're present, however it explicity /// sets the insert operation's query. /// <para>The actual select statement has to be set up through the RowParamCallback, /// or through using InsertSelect(table,queryinsert,queryselect,…</para> /// </summary> /// <param name="table">Applied to DataSet.Table.Name property.</param> /// <param name="query">insert statement</param> /// <param name="S">delegate(DbOp op, string query, TConnection connection)</param> /// <param name="Fill">delegate(TAdapter A, DataSet D, string tablename)</param> /// <returns></returns> public DataSet Insert(string table, string query, CBRowParam S, CBDataFill Fill) { DataSet ds = new DataSet(data_id ?? ""); using (TConnection C = this.Connection) { using (TAdapter A = S(DbOp.Insert, query, C)) { C.Open(); try { if ((A.InsertCommand != null) && !string.IsNullOrEmpty(A.InsertCommand.CommandText)) { A.InsertCommand.ExecuteNonQuery(); } } catch (Exception e) { System.Diagnostics.Debug.Assert(false, e.Message, e.Source); } try { if ((A.SelectCommand != null) && !string.IsNullOrEmpty(A.SelectCommand.CommandText)) { A.SelectCommand.ExecuteNonQuery(); Fill(A, ds, table); } } catch (Exception e) { System.Diagnostics.Debug.Assert(false, e.Message, e.Source); } C.Close(); } } // MessageBox.Show(); // ds.Tables[0].Rows.Count return(ds); }
/// <summary> /// /// </summary> /// <param name="table"></param> /// <param name="query"></param> /// <param name="S">delegate(DbOp op, string query, TConnection connection)</param> /// <param name="Fill">delegate(TAdapter A, DataSet D, string tablename)</param> /// <returns></returns> public DataSet Select(string table, string query, CBRowParam S, CBDataFill Fill) { DataSet ds = new DataSet(data_id ?? ""); using (TConnection C = this.Connection) using (TAdapter A = S(DbOp.Select, query, C)) { C.Open(); A.SelectCommand.ExecuteNonQuery(); Fill(A, ds, table); C.Close(); } return(ds); }
/// <summary> /// Executes the provided Comands, which may include a INSERT Command. /// If no insert command is present, the Data-Fill operation is ignored. /// </summary> /// <param name="table"></param> /// <param name="query"></param> /// <param name="S">delegate(DbOp op, string query, TConnection connection)</param> /// <param name="Fill">delegate(TAdapter A, DataSet D, string tablename)</param> /// <returns></returns> public DataSet Update(string table, string query, CBRowParam S, CBDataFill Fill) { //Logger.LogG("DataAbstract.Update",query); DataSet ds = new DataSet(data_id ?? ""); using (TConnection C = this.Connection) { using (TAdapter A = S(DbOp.Update, query, C)) { C.Open(); try { A.UpdateCommand.ExecuteNonQuery(); Fill(A, ds, table); } catch (Exception e) { #if DEBUG System.Diagnostics.Debug.Print("Update ERROR: '{0}'", A.UpdateCommand.CommandText); foreach (IDbDataParameter p in A.UpdateCommand.Parameters) { System.Diagnostics.Debug.Print("Param: '{0}', ToString = \"{1}\"", p.ParameterName, p); } //Logger.Warn("DataAbstract.Update: ERROR!","\n--------------\n{0}\n--------------\n",e.ToString()); throw e; #endif } try { if ((A.SelectCommand != null) && !String.IsNullOrEmpty(A.SelectCommand.CommandText)) { A.SelectCommand.ExecuteNonQuery(); Fill(A, ds, table); } } catch (Exception e) { #if DEBUG System.Diagnostics.Debug.Print("Select command-text: '{0}'", A.SelectCommand.CommandText); //Logger.Warn("DataAbstract.Select (Via Update Method): ERROR!","\n--------------\n{0}\n--------------\n",e.ToString()); throw e; #endif } C.Close(); } } return(ds); }
/// <summary> /// /// </summary> /// <param name="query"></param> /// <param name="S">delegate(DbOp op, string query, TConnection connection)</param> /// <param name="Fill">delegate(TAdapter A, DataSet D, string tablename)</param> /// <returns></returns> public DataSet Select(string query, CBRowParam S, CBDataFill Fill) { return(Select(null, query, S, Fill)); }
public DataSet Update(string query, CBRowParam S, CBDataFill Fill) { return(Update(null, query, S, Fill)); }
/// <summary> /// /// </summary> /// <param name="query"></param> /// <param name="S">delegate(DbOp op, string query, TConnection connection)</param> /// <param name="Fill"></param> /// <returns></returns> public DataSet Insert(string query, CBRowParam S, CBDataFill Fill) { return(Insert(null, query, S, Fill)); }