【问题标题】:How to add row to EXISTING Datatable如何将行添加到现有数据表
【发布时间】:2011-05-31 08:43:53
【问题描述】:

我的 Visual Basic 2010 Express 解决方案中有一个 sql 数据库 (agentroster.sdf),并且我已经能够使用数据表创建一个数据源 (AGENT_ROSTER)。据我所知,所有这些都有效。

但是,我正在尝试从 ROSTER.xaml.vb 向这个现有数据表(以及数据库)添加一个新行,该数据表与数据库位于同一项目中。我还需要删除记录,并将记录的值加载到一组变量中,稍后将在更改后写回。这个系统对于我的特定项目是必需的。

但是,我不知道如何在这个 EXISTING 数据表中创建一个新行。我已经确认了连接和所有内容,我不想在现有连接之上创建一个全新的连接。

帮助?

【问题讨论】:

  • 你能给出你试过的代码吗?您在尝试添加新行时是否遇到任何错误?

标签: asp.net sql vb.net-2010


【解决方案1】:

在 C# 中,您可以执行类似的操作:

    var table = new DataTable();
    var row = table.NewRow();
    table.Rows.Add(row);

当然,此时表基本上是空的,但如果您的数据表来自数据库,那么它已经具有架构,并且新行将匹配它的架构。

【讨论】:

  • 谢谢。如果这是一个愚蠢的问题,请原谅,但是如果这段代码在我的表单的 button_click 代码中,这段代码如何知道将这个数据表基于数据库“agentroster”?我的连接是全局级别的,也就是说,它显示在 Visual Basic 2010 Express 的“数据库连接”窗格中 - 它不是在表单代码中创建的。
  • 这个特定的代码不会——这就是为什么我说上面代码中的表基本上是空的——如果你使用你的数据源中的数据表——那么数据表的模式已经设置好了。使用 table.NewRow() 从该架构中提取一个包含所有正确列的新空行,然后可以使用 table.Rows.Add(row) 代码将该行添加到您的数据表中。
  • 由于某种原因,此代码不起作用。我使用了agentroster.NewRow,它说agentroster(数据表的名称)没有那个属性。
  • 我正在使用“|”分隔线。请记住,我在数据源中声明了 AGENT_ROSTER。代码:将 roster_table 调暗为新 DataTable("AGENT_ROSTER") | '这部分代码进入按钮点击事件类。 |将 NewRow 调暗为 DataRow = roster_table.NewRow() | NewRow("DATA_NAME") = txtAgent.Text | roster_table.Rows.Add(NewRow)
猜你喜欢
  • 2015-08-01
  • 2018-08-08
  • 1970-01-01
  • 2015-11-04
  • 1970-01-01
  • 2022-11-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多