首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向DataTable添加行

向DataTable添加行
EN

Stack Overflow用户
提问于 2013-01-05 03:35:38
回答 1查看 180关注 0票数 0

我正在尝试从SQL数据库向Access表中插入记录。当我单步执行时,我添加了5行,但当我完成时,这些行不在表中。我知道我错过了一些简单的东西,但我肯定弄不明白。

代码语言:javascript
复制
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();

当我打开表格时,记录不在表格中。有人能告诉我我哪里做错了吗?

提前谢谢你,鲍勃

EN

回答 1

Stack Overflow用户

发布于 2013-01-05 03:38:26

更改:

代码语言:javascript
复制
tbl.AcceptChanges();
adapter.Update(tbl);

代码语言:javascript
复制
adapter.Update(tbl);
tbl.AcceptChanges();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14163703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档