在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
一般是这样的,如果用设计器将SqlDataAdapter拖到页面中使用时,不会出现SqlDataAdapter.Update(ds)更新时出错情况,因为系统会自动生成SqlDataAdapter的属性命令,比如: .UpdateCommane insertCommand selectCommand等。 但是有些程序员不喜欢用设计器,或者是有些地方没必要拖动SqlDataAdapter这么个庞大物来实现,那么SqlDataAdapter就不会自动生成相关的查询或更新语句了。 所以当执行到SqlDataAdapter.Update(ds)语句时,SqlDataAdapter桥接器不知道更新哪个表不报错了。 public int UpdateByDataSet(DataSet ds,string strTblName,string strConnection) { try { SqlConnection conn = new SqlConnection(strConnection)); SqlDataAdapter myAdapter = new SqlDataAdapter(); SqlCommand myCommand = new SqlCommand("select * from "+strTblName),(SqlConnection)this.conn); myAdapter.SelectCommand = myCommand; SqlCommandBuilder myCommandBuilder = new SqlCommandBuilder(myAdapter); myAdapter.Update(ds,strTblName); return 0; } catch(BusinessException errBU) { throw errBU; } catch(Exception err) { throw new BusinessException(err); } } 直接调用这个方法就可以啦,说明的一点是select * from "+strTblName是一定要的,作用大家也应该想到了,主要是告诉SqlDataAdapter更新哪个表。 以上就是用SqlCommandBuilder 实现批量更新的方法,介绍了其优缺点,以及注意点,内容很详细,希望大家可以喜欢。 |
请发表评论