如果不用CommandBuilder就要写太多的代码了,请问各位大侠是如何解决的。
而且,用Parameters.Add()加参数的时候,需要写入字段的类型(是SqlDbType的),这个可否通过表得到?

解决方案 »

  1.   

    一般情况下,我都不通过DATAADAPTER来更新数据,所以还是使用COMMANDBUILDER的时候比较多。至于数据类型的问题,其实不指定数据类型也是可以的,因为都是object吗,能自动识别的。不过能指明类型是最好的,这样可以提高运行效率,同时从安全角度考虑也要好点。你说的通过表得到字段的类型是可行的。
      

  2.   

    使用CommandBuilder可以自动生成代码,但是它的速度要降很多,因为要查找数据库中的所有标准,因此建议手动写代码,这样可以最大的提高程序运行的速度,但要求有SQL基础,不通过DataAdapter来更新数据也要求手动写代码,这是行业规则.
    Parameters.Add()中的数据类型必须和表一致,如果是INT等数值类型的数据可以填写"0"或者"1",这没有什么区别,日期类型的可以填写"8"等
    最简单的方法是从新建立一个工程,然后使用系统自动生成,把代码"卡"过去就可以了
      

  3.   

    如果在设计模式
    就是托一个 command 对象到 窗口上选择 好 Connection(这个以及有正确的连接串)
    然后再 CommandText 写 (以sqlserver 样列库为列)
    INSERT INTO Customers(CustomerID, CompanyName)
    VALUES(@CustomerID,@CompanyName);就会在Parameters属性生成 @CustomerID,@CompanyName  对应的对象
    然后你在 Parameters属性 改改就行了
      

  4.   

    CommandBuilder需要增加一次到数据库的数据查询,如果网络性能一般的话,对程序的性能的影响是很大的,故一般是不用的。自己写数据更新的SQL,效果好点!
      

  5.   

    参考M$的DataAccessBlock
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/daab-rm.asp