Dataset更新到Access数据库,不报错,但更新不了。

我遇到一个不是问题的问题。
下面这段代码,从头到尾不报错,但是就是更新不到数据库。
我实在不知道哪有问题,还是少了什么,真的已经快崩溃了。
到底哪写的不对。各位帮忙。

 1 ExpandedBlockStart.gif ContractedBlock.gif          /**/ /// <summary>
 2InBlock.gif        /// 利用两个dataset合并更新数据库表
 3InBlock.gif        /// </summary>
 4ExpandedBlockEnd.gif        /// <param name="ds">新数据的dataset</param>

 5 None.gif          public   void  update(DataSet ds)
 6 ExpandedBlockStart.gifContractedBlock.gif         dot.gif {
 7InBlock.gif
 8InBlock.gif
 9InBlock.gif            string CompanyInfoColumn = "Info_Code,Company_Name,Company_Address,ZIP,Country,Tel,Fax,Email,Web,Vocation,";
10InBlock.gif            CompanyInfoColumn += "Company_Business,Business_Type,Products_Service,Employee_Number,SPECIAL,OTHER,PRODUCTBARCODE";
11InBlock.gif
12InBlock.gif            string CmdText="Select "+CompanyInfoColumn+" From CompanyInfo";
13InBlock.gif
14InBlock.gif            DataSet Ods = Acc.getData(CmdText);//或数据库获得已经有的数据
15InBlock.gif            
16InBlock.gif            Ods.Tables[0].Merge(ds.Tables[0], false);//合并两个dataset
17InBlock.gif
18InBlock.gif
19InBlock.gif
20InBlock.gif
21InBlock.gif            //以下设置OleDbDataAdapter以更新Ods
22InBlock.gif            OleDbDataAdapter oda = new OleDbDataAdapter();
23InBlock.gif            
24InBlock.gif            OleDbCommand odcsel = new OleDbCommand();
25InBlock.gif            odcsel.Connection = Acc.OleConn;//Acc.OleConn是一个连接
26InBlock.gif            odcsel.CommandText = CompanyInfoColumn;
27InBlock.gif            oda.SelectCommand = odcsel;
28InBlock.gif
29InBlock.gif            OleDbCommand odcdel = new OleDbCommand();
30InBlock.gif            odcdel.Connection = Acc.OleConn;
31InBlock.gif            odcdel.CommandText = "DELETE FROM [CompanyInfo] WHERE [Info_Code] = ?";
32InBlock.gif            oda.DeleteCommand = odcdel;
33InBlock.gif
34InBlock.gif            OleDbCommand odcIns = new OleDbCommand();
35InBlock.gif            odcIns.Connection = Acc.OleConn;
36InBlock.gif            odcIns.CommandText = "INSERT INTO [CompanyInfo] ( [Info_Code], [Company_Name], [Company_Address], [ZIP], [Country], [Tel], [Fax], [Email], [Web], [Vocation], [Company_Business], [Business_Type], [Products_Service], [Employee_Number], [Company_Flag], [SPECIAL], [OTHER], [PRODUCTBARCODE]) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
37InBlock.gif            oda.InsertCommand = odcIns;
38InBlock.gif
39InBlock.gif            OleDbCommand odcupd = new OleDbCommand();
40InBlock.gif            odcupd.Connection = Acc.OleConn;
41InBlock.gif            odcupd.CommandText = "UPDATE [CompanyInfo] SET  [Company_Name] = ?, [Company_Address] = ?, [ZIP] = ?, [Country] = ?, [Tel] = ?, [Fax] = ?, [Email] = ?, [Web] = ?, [Vocation] = ?, [Company_Business] = ?, [Business_Type] = ?, [Products_Service] = ?, [Employee_Number] = ?, [Company_Flag] = ?, [SPECIAL] = ?, [OTHER] = ?, [PRODUCTBARCODE] = ? WHERE [Info_Code] = ?";
42InBlock.gif            oda.UpdateCommand = odcupd;
43InBlock.gif            
44InBlock.gif            
45InBlock.gif            //更新到表
46InBlock.gif            oda.Update(Ods.Tables[0]);
47InBlock.gif
48InBlock.gif            Ods.AcceptChanges();
49InBlock.gif




我根据网上的资料改了一下以后代码如下,还是更新不进去。

 1 None.gif              string  CompanyInfoColumn  =   " Info_Code,Company_Name,Company_Address,ZIP,Country,Tel,Fax,Email,Web,Vocation, " ;
 2 None.gif            CompanyInfoColumn  +=   " Company_Business,Business_Type,Products_Service,Employee_Number,SPECIAL,OTHER,PRODUCTBARCODE " ;
 3 None.gif
 4 None.gif             string  CmdText = " Select  " + CompanyInfoColumn + "  From CompanyInfo " ;
 5 None.gif
 6 None.gif            DataSet Ods  =  Acc.getData(CmdText); // 或数据库获得已经有的数据
 7 None.gif             DataColumn[] dc = new  DataColumn[ 1 ];
 8 None.gif            dc[ 0 =   new  DataColumn( " Info_Code " );
 9 None.gif            Ods.Tables[ 0 ].PrimaryKey = dc;
10 None.gif            Ods.Tables[ 0 ].Merge(ds.Tables[ 0 ],  false ); // 合并两个dataset
11 None.gif
12 None.gif
13 None.gif            OleDbDataAdapter oleda  =  Acc.OleDataAdapter;
14 None.gif
15 None.gif
16 None.gif 
17 None.gif
18 None.gif            OleDbCommandBuilder oCbd  =   new  OleDbCommandBuilder(oleda);
19 None.gif
20 None.gif 
21 None.gif            
22 None.gif            
23 None.gif             // 更新到表
24 None.gif             oleda.Update(Ods.Tables[ 0 ]);
25 None.gif
26 None.gif            Ods.AcceptChanges();

转载于:https://www.cnblogs.com/xA51121/archive/2007/01/27/632051.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值