Пример #1
0
        /// <summary>
        /// Uses a select statement and the ADO.NET CommandBuilder
        /// to generate Insert,Update, and Delete statements, and load them onto an adapter
        /// </summary>
        /// <param name="conn"></param>
        /// <param name="client"></param>
        /// <param name="sql"></param>
        /// <returns></returns>
        public static DbDataAdapter GetMagicAdapter(DbConnection conn, IDataClient client, string sql)
        {
            var cmd     = client.GetCommand(sql, conn);
            var dba     = client.GetDataAdapter(cmd);
            var builder = client.GetCommandBuilder(dba);

            dba.InsertCommand = builder.GetInsertCommand(true);
            dba.DeleteCommand = builder.GetDeleteCommand(true);
            dba.UpdateCommand = builder.GetUpdateCommand(true);

            if (dba.InsertCommand != null)
            {
                dba.InsertCommand.CommandTimeout = client.QueryTimeout;
            }

            if (dba.DeleteCommand != null)
            {
                dba.DeleteCommand.CommandTimeout = client.QueryTimeout;
            }

            if (dba.UpdateCommand != null)
            {
                dba.UpdateCommand.CommandTimeout = client.QueryTimeout;
            }

            return(dba);
        }
Пример #2
0
        /// <summary>
        /// Returns true if a particular table has a particular column
        /// </summary>
        /// <param name="columnname"></param>
        /// <param name="tablename"></param>
        /// <param name="conn"></param>
        /// <param name="client"></param>
        /// <returns></returns>
        public static bool HasColumn(string columnname, string tablename, DbConnection conn, IDataClient client)
        {
            string sql = string.Format("select * from {0} WHERE 0 = 1", tablename);

            var dt = GetMagicTable(conn, client, sql);

            var cmd = client.GetCommand(sql, conn);
            var dba = client.GetDataAdapter(cmd);

            dba.Fill(dt);

            if (dt != null)
            {
                return(dt.Columns.Contains(columnname));
            }
            return(false);
        }
Пример #3
0
        /// <summary>
        /// 'Magically' populates a DataTable object with the contents of your sql query
        /// </summary>
        /// <param name="conn"></param>
        /// <param name="client"></param>
        /// <param name="sql"></param>
        /// <returns></returns>
        public static DataTable GetMagicTable(DbConnection conn, IDataClient client, string sql)
        {
            DataTable dt = new DataTable();

            try
            {
                var cmd = client.GetCommand(sql, conn);
                var dba = client.GetDataAdapter(cmd);

                dba.Fill(dt);

                return(dt);
            }
            catch (Exception ex)
            {
                _log.Error("error during select", ex);
            }

            return(null);
        }
Пример #4
0
        /// <summary>
        /// Uses a select statement and the ADO.NET CommandBuilder 
        /// to generate Insert,Update, and Delete statements, and load them onto an adapter
        /// </summary>
        /// <param name="conn"></param>
        /// <param name="client"></param>
        /// <param name="sql"></param>
        /// <returns></returns>
        public static DbDataAdapter GetMagicAdapter(DbConnection conn, IDataClient client, string sql)
        {
            var cmd = client.GetCommand(sql, conn);
            var dba = client.GetDataAdapter(cmd);
            var builder = client.GetCommandBuilder(dba);

            dba.InsertCommand = builder.GetInsertCommand(true);
            dba.DeleteCommand = builder.GetDeleteCommand(true);
            dba.UpdateCommand = builder.GetUpdateCommand(true);

            if (dba.InsertCommand != null)
                dba.InsertCommand.CommandTimeout = client.QueryTimeout;

            if (dba.DeleteCommand != null)
                dba.DeleteCommand.CommandTimeout = client.QueryTimeout;

            if (dba.UpdateCommand != null)
                dba.UpdateCommand.CommandTimeout = client.QueryTimeout;

            return dba;
        }
Пример #5
0
        /// <summary>
        /// Returns true if a particular table has a particular column
        /// </summary>
        /// <param name="columnname"></param>
        /// <param name="tablename"></param>
        /// <param name="conn"></param>
        /// <param name="client"></param>
        /// <returns></returns>
        public static bool HasColumn(string columnname, string tablename, DbConnection conn, IDataClient client)
        {
            string sql = string.Format("select * from {0} WHERE 0 = 1", tablename);

            var dt = GetMagicTable(conn, client, sql);

            var cmd = client.GetCommand(sql, conn);
            var dba = client.GetDataAdapter(cmd);

            dba.Fill(dt);

            if (dt != null)
            {
                return dt.Columns.Contains(columnname);
            }
            return false;
        }
Пример #6
0
        /// <summary>
        /// 'Magically' populates a DataTable object with the contents of your sql query 
        /// </summary>
        /// <param name="conn"></param>
        /// <param name="client"></param>
        /// <param name="sql"></param>
        /// <returns></returns>
        public static DataTable GetMagicTable(DbConnection conn, IDataClient client, string sql)
        {
            DataTable dt = new DataTable();

            try
            {
                var cmd = client.GetCommand(sql, conn);
                var dba = client.GetDataAdapter(cmd);

                dba.Fill(dt);

                return dt;
            }
            catch (Exception ex)
            {

                _log.Error("error during select", ex);
            }

            return null;
        }