我试图通过代码在 DataSet 中设置类型为“System.Int32”的单元格,我的尝试如下所示:
int aCarID = 5; // as an example...
// points out the row that I want to manipulate - I guess this is what doesn´t work???
int insertIndex = myDataSet.tableCars.Rows.Count
myDataSet.tableCars.Rows[insertIndex]["CarID"] = aCarID;
发生的事情是:我得到一个异常“System.IndexOutOfRangeException”。
只要你给出答案,你就可以说我笨...
更新!
是的,我正在尝试创建一个新行,没错 - 这就是我不使用“-1”的原因。
那么创建新行的语法是什么?
如果我使用 tableCars.Rows.Add(...),我需要为 Add 函数提供一个“DataRow Row”,但我还没有提供 - 还没有! (第 22 条军规)
新更新! 糟糕,找到了 - “NewRow()”:-)
最佳答案
您知道 C# 中的索引从零开始吗?这意味着如果您的表有 3 行,您将尝试访问第 4 行,因为 insertIndex = 3。 试试 insertIndex - 1。
编辑:既然您正在尝试添加一个新行并且已经知道如何操作,那么也不要忘记将这些更改保存到数据库中(我假设这就是您想要做的)。最简单的方法是设置用于填充 DataSet(或实际上是 DataSet 中的 DataTable)的 DataAdapter 的 UpdateCommand 属性。 您还可以使用 DbCommandBuilder 的子类生成更新命令。
关于c# - 如何在 DataSet 中设置单元格?帮助!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3092606/