2013-01-04 164 views
0

我試圖從SQL數據庫中插入記錄到Access表中。當我通過時,我添加了5行,但是當我完成時,行不在表格中。我知道我錯過了一些簡單的事情,但我確定無法弄清楚。將行添加到DataTable

OdbcConnection ocn = new OdbcConnection 
("Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\\my.mdb;Uid=Admin;Pwd=;"); 
ocn.Open(); 
OdbcDataAdapter adapter = new OdbcDataAdapter 
    (@"SELECT * FROM FROM Nodes Order by Node ASC", ocn); 

da.InsertCommand = new OdbcCommand(@"INSERT INTO NODES(Node,Descriptor,NDisabled,GroupNum,LocalAddress 
          TurnOffPolling,CommOffSig,MaintSig,CollectAuditSig,SkipHistory,KeepAwake,DialUp,KeepAwakeDate,ModelNumber) 
          VALUES(@Node,@Descriptor,@NDisabled,@Groupnum,@LocalAddress, 
          @TurnOffPolling,@CommOffSig,@maintSig,@CollectAuditSig,@SkipHistory,@KeepAwake,@DialUp,@KeepAwakeDate,@ModelNumber)", ocn); 
         da.InsertCommand.Parameters.Add("@Node", OdbcType.VarChar); 
         da.InsertCommand.Parameters.Add("@Description", OdbcType.VarChar); 
         da.InsertCommand.Parameters.Add("@NDisabled", OdbcType.Bit); 
         da.InsertCommand.Parameters.Add("@GroupNum", OdbcType.Int); 
         da.InsertCommand.Parameters.Add("@LocalAddress", OdbcType.Int); 
         da.InsertCommand.Parameters.Add("@TurnOffPolling", OdbcType.Bit); 
         da.InsertCommand.Parameters.Add("@CommOffSig", OdbcType.VarChar); 
         da.InsertCommand.Parameters.Add("@MaintSig", OdbcType.VarChar); 
         da.InsertCommand.Parameters.Add("@CollectAuditSig", OdbcType.VarChar); 
         da.InsertCommand.Parameters.Add("@SkipHistory",OdbcType.Bit); 
         da.InsertCommand.Parameters.Add("@KeepAwake",OdbcType.Bit); 
         da.InsertCommand.Parameters.Add("@DialUp",OdbcType.Bit); 
         da.InsertCommand.Parameters.Add("@KeepAwakeDate",OdbcType.VarChar); 
         da.InsertCommand.Parameters.Add("@ModelNumber",OdbcType.Int); 

DataTable tbl = new System.Data.DataTable(); 
adapter.Fill(tbl); 
while(SqlDataReader.Read()) 
{ 
    DataRow nrow = tbl.NewRow(); 
     nrow["Node"] = rdr["Node"]; 
    tbl.Rows.Add(nrow); //I see the tbl.Rows.Count increase by one here 
} 
tbl.AcceptChanges(); 
adapter.Update(tbl); 

ocn.Close(); 

當我打開表格時,記錄不在表格中。有人可以告訴我我在這裏做錯了嗎?

由於提前, 鮑勃

+0

這是c#yesno?請添加標籤。 – Fionnuala

回答

0

變化:

tbl.AcceptChanges(); 
adapter.Update(tbl); 

adapter.Update(tbl); 
tbl.AcceptChanges(); 

而且我看不出你提供你的OdbcDataAdapterInsertCommand(或UpdateCommandDeleteCommand)執行數據庫表的propper更新。