コード例 #1
0
        /// <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);
        }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
        /// <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);
        }
コード例 #4
0
        /// <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);
        }
コード例 #5
0
 /// <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));
 }
コード例 #6
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="table"></param>
 /// <param name="query"></param>
 /// <param name="S">delegate(DbOp op, string query, TConnection connection)</param>
 /// <returns></returns>
 public DataSet Select(string table, string query, CBRowParam S)
 {
     return(Select(table, query, S, DefaultFill));
 }
コード例 #7
0
 public DataSet Update(string query, CBRowParam S, CBDataFill Fill)
 {
     return(Update(null, query, S, Fill));
 }
コード例 #8
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="table"></param>
 /// <param name="query"></param>
 /// <param name="S">delegate(DbOp op, string query, TConnection connection)</param>
 /// <returns></returns>
 public DataSet Update(string table, string query, CBRowParam S)
 {
     return(Update(table, query, S, DefaultFill));
 }
コード例 #9
0
 /// <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));
 }
コード例 #10
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="query"></param>
 /// <param name="S">delegate(DbOp op, string query, TConnection connection)</param>
 /// <returns></returns>
 public DataSet Insert(string query, CBRowParam S)
 {
     return(Insert(query: query, S: S, Fill: DefaultFill));
 }