DataAdapter使用示例、通用DataAdapter

        /// <summary>
        /// 通用DataAdapter,表要求有【主键】且查询为单表简单查询
        /// </summary>
        /// <param name="tableName">表名</param>
        public static OleDbDataAdapter SmartDataAdapter(string tableName)
        {
            OleDbDataAdapter adapter = new OleDbDataAdapter(string.Format("select * from {0}", tableName), connectionString);
            //为adapter构造默认的 InsertCommand,DeleteCommand,UpdateCommand 需要主键支持
            OleDbCommandBuilder cmdbuilder = new OleDbCommandBuilder(adapter);
            return adapter;
        }

     

        datatable删除的时候不能用DataTable.Rows.RemoveAt();

        要用DataTable.Rows[i].Delete();

        否则无法删除数据库数据(不会报错)

 

----------------------------示例---------------------

protected static SqlDataAdapter adapterTBBMGL()
        {
            StringBuilder sqlInsert = new StringBuilder();
            sqlInsert.Append("insert into TBBMGL(");
            sqlInsert.Append("TBWBH,TBZDM,BZ)");
            sqlInsert.Append(" values (");
            sqlInsert.Append("@TBWBH,@TBZDM,@BZ)");

            StringBuilder sqlUpdate = new StringBuilder();
            sqlUpdate.Append("update TBBMGL set ");
            sqlUpdate.Append("TBZDM=@TBZDM,");
            sqlUpdate.Append("BZ   =@BZ"    );
            sqlUpdate.Append(" where TBWBH=@TBWBH ");

            SqlDataAdapter da = new SqlDataAdapter();

            //新增命令InsertCommand参数
            da.InsertCommand = new SqlCommand(sqlInsert.ToString(), sqlConnect);
   da.InsertCommand.Parameters.Add("@TBWBH", SqlDbType.TinyInt,1 ,"TBWBH");//最后一个参数为对应datatable列的列名
   da.InsertCommand.Parameters.Add("@TBZDM", SqlDbType.VarChar,50,"TBZDM");
   da.InsertCommand.Parameters.Add("@BZ"   , SqlDbType.VarChar,60,"BZ"   );

            //修改命令UpdateCommand参数
            da.UpdateCommand = new SqlCommand(sqlUpdate.ToString(), sqlConnect);

            //删除命令DeleteCommand参数
            da.DeleteCommand = new SqlCommand("delete TBBMGL where TBWBH=@TBWBH ", sqlConnect);
            da.DeleteCommand.Parameters.Add("@TBWBH", SqlDbType.TinyInt, 1,"TBWBH");

            return da;
        }

转载于:https://www.cnblogs.com/djian/archive/2010/10/11/1848092.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值