• 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适合动态的操作,性能会损失
  • 相关阅读:
    【Linux】没有网的情况下如何安装GCC
    【PL/SQL】PLSQL Developer注册码
    【JS】字符串操作
    【java】svn显示×
    线段树
    病毒感染者
    并查集
    最小的N个和(堆)
    priority_queue的用法
    打印杨辉三角
  • 原文地址:https://www.cnblogs.com/zhahost/p/1212396.html
Copyright © 2020-2023  润新知