数据库更新的简单问题?
OleDbDataAdapter   custDA   =   new   OleDbDataAdapter( "SELECT   客户ID,   公司名称   FROM   客户 ",   nwindConn);      
 custDA.UpdateCommand   =   new   OleDbCommand( "UPDATE   客户   SET   公司名称   =   ?   WHERE   客户ID   =   ? ",nwindConn);   
 custDA.UpdateCommand.Parameters.Add( "@ConpanyName ",   OleDbType.Char,   15).Value   =    "   旧公司 ";   
 custDA.UpdateCommand.Parameters.Add( "@CustomerID ",   OleDbType.Char,   5, "客户ID ").Value   =    "ALFKI ";                                       
 DataSet   custDS   =   new   DataSet(); 
 custDA.Fill(custDS,    "客户 ");   
 custDS.Tables[ "客户 "].Rows[0][ "公司名称 "]   =    "第一公司 "; 
 custDS.Tables[ "客户 "].Rows[1][ "公司名称 "]   =    "第二公司 ";   
 custDA.Update(custDS,    "客户 ");   
 上面的语句执行后,数据库中的第一行和第二行显示的都是 '旧公司 '。这是为什么啊?
------解决方案--------------------this.oleDbUpdateCommand1.Parameters.Add(new System.Data.OleDb.OleDbParameter( "CustomerID ", System.Data.OleDb.OleDbType.VarWChar, 5,  "CustomerID "));  
 把你的 "旧公司 "去掉
------解决方案--------------------try..   
 OleDbDataAdapter custDA = new OleDbDataAdapter( "SELECT 客户ID, 公司名称 FROM 客户 ", nwindConn); 
 OleDbCommandBuilder builder=new OleDbCommandBuilder(custDA);               
 DataSet custDS = new DataSet(); 
 custDA.Fill(custDS,  "客户 ");   
 custDS.Tables[ "客户 "].Rows[0][ "公司名称 "] =  "第一公司 "; 
 custDS.Tables[ "客户 "].Rows[1][ "公司名称 "] =  "第二公司 ";   
 custDA.Update(custDS,  "客户 ");   
 注意这样要求你的数据库中的表要有主键.... 
------解决方案--------------------你这样用肯定有问题啊...   
 你的Adapter的updateCommand与后面对datatable的更改都不对应...   
------解决方案--------------------数据库中要设置主键 
 另外参数中应加入主键的参数