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;
        }

posted @ 2010-10-11 17:35  sweetjian  阅读(585)  评论(0编辑  收藏  举报