CommandBuilder的使用

         public   static   bool  SaveDB(DataTable DT,  string  SqlText)
ExpandedBlockStart.gifContractedBlock.gif        
{
            
try
ExpandedSubBlockStart.gifContractedSubBlock.gif            
{
                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)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
{
                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适合动态的操作,性能会损失

转载于:https://www.cnblogs.com/zhahost/archive/2008/06/02/1212396.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值