c# - 如何在 DataSet 中设置单元格?帮助!

标签 c# visual-studio-2008 dataset

我试图通过代码在 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/

相关文章:

java - 使用 StringBuffer 时 FlatXmlDataSetBuilder 抛出 "java.net.MalformedURLException"

c# - 不同的用户不能同时使用我的 WinForms 应用程序

c# - 验证器忽略 MaxLength 属性

c# - ASP.NET Web API 抛出异常

visual-studio-2008 - 如何清除 Visual Studio 2008 中的 "Recent Projects"列表?

c++ - 如何为关联容器应用 std::accumulate 算法?

c# - 子线程结束后如何在主线程中运行一个方法?

c++ - boost 错误 : not found boost_date_time-vc80-mt-1_41. dll

ios - Swift:从两个数组转换为数据集以在图表中使用

Delphi - 在运行时动态添加所有字段在数据集中生成重复项