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适合动态的操作,性能会损失
  • 相关阅读:
    十.总结drf视图
    一.9.多云管理同步服务器
    一.vue 初识
    一.8.django权限管理/drf权限管理
    一.7.服务器之分页和搜索应用
    一.6.序列化应用之服务器同步功能
    一.5.序列化应用之服务器制造厂与型号app功能
    【前端背景UI】鼠标磁性动态蜘蛛网背景源码
    【vue】导入式,使用vue与element UI, 单人开发项目,告别脚手架
    【python后台admin】所有属性显示设置
  • 原文地址:https://www.cnblogs.com/zhahost/p/1212396.html
Copyright © 2011-2022 走看看