zoukankan      html  css  js  c++  java
  • CommandBuilder的使用

            public static bool SaveDB(DataTable DT, string SqlText)
            
    {
                
    try
                
    {
                    OracleConnection conn 
    = new OracleConnection(OracleHelper.connectionString);
                    OracleDataAdapter oda 
    = new OracleDataAdapter(SqlText, conn);
                    OracleCommandBuilder ocb 
    = new OracleCommandBuilder(oda);
                    oda.InsertCommand 
    = ocb.GetInsertCommand();
                    oda.DeleteCommand 
    = ocb.GetDeleteCommand();
                    oda.UpdateCommand 
    = ocb.GetUpdateCommand();

                    oda.Update(DT);
                    
    return true;
                }

                
    catch (OracleException exx)
                
    {
                    MessageBox.Show(
    "数据库操作失败!" + exx.Message);
                    
    return false;
                }

            }
    什么时候该用commandbuilder  
      1   commandbuilder只适合single   table,不适合用在复杂的关系上  
      2   每次build的时候,它都会连接到数据库,取得相关信息,才能得到   update,delete,insert命令,对性能会有影响  
      3   如果是固定的表、固定的操作可以直接写dataadapter的update,insert,delete命令。因为表的字段可能很多,工作量大(as   mentioned before),VS.NET提供了visual的方法编辑dataadapter,当你把dataadapter控件拖到design上的时候,就会出 现设置的向导,减少工作量  
       
      commandbuilder适合动态的操作,性能会损失
  • 相关阅读:
    P3373 【模板】线段树 2
    P3372 【模板】线段树 1
    P3368 【模板】树状数组 2
    P3374 【模板】树状数组 1
    P1004 方格取数
    P1880 [NOI1995]石子合并
    UOJ#152盘子序列
    P1886 滑动窗口
    P1440 求m区间内的最小值
    二进制中1的个数
  • 原文地址:https://www.cnblogs.com/zhahost/p/1212396.html
Copyright © 2011-2022 走看看