【问题标题】:How can I add a new row to a datatable that I populated with data from a MS Access table如何向使用 MS Access 表中的数据填充的数据表添加新行
【发布时间】:2019-05-03 20:51:07
【问题描述】:

我创建了一个数据表,并用 MS Access 数据库表中的表内容填充它。

当我想向数据表添加新行时,我的问题开始出现:我收到一个错误,即我的输入数组比表中的列长,所以我继续使用数据表上的列计数进行检查得到一个零。

string str = "Select * from Mazda";

OleDbCommand cmd = new OleDbCommand(str, con);

OleDbDataAdapter adapt = new OleDbDataAdapter(cmd);
adapt.Fill(Mazda);

我尝试使用与数据库中的数据表相同的格式添加一行

Mazda.Rows.Add(a,b, c, d);

这段代码没有添加行,而是抛出错误

输入数组长于列数

如果我已经填充了表格,怎么可能?如何修复它?

【问题讨论】:

    标签: c#


    【解决方案1】:

    试试这样:

    var newRow = Mazda.NewRow();
    newRow["ColumnA"] = "a";
    newRow["ColumnB"] = "b";
    newRow["ColumnC"] = "c";
    newRow["ColumnD"] = "d";
    
    Mazda.Rows.Add(newRow);
    

    您可以在 newRow 中使用列名作为字符串或使用整数值作为索引。这里我使用“ColumnA-D”作为列名仅作为示例。

    【讨论】:

    • 感谢 Leon 确实尝试过,虽然我的表似乎正在重置,因为它不是静态的并且超出了范围,类似的东西,不太确定,但修复了 :)
    猜你喜欢
    • 2014-10-07
    • 1970-01-01
    • 1970-01-01
    • 2020-07-30
    • 2014-09-23
    • 1970-01-01
    • 2018-03-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多