我很抱歉,如果之前已经提出这个问题,我尝试过使用谷歌,但所有答案都无法帮助我。
我是使用数据集并使用c#连接数据库的完全开始。我有一个数据集usersDataset
来自访问2007数据库,该数据库有两个表Administrators
和Users
。两个表都有两列UserName
和Password
。 Administrators Table
有一行数据。
现在的问题是我想要检索数据集中的行。我尝试了很多东西,但他们都抛出了异常。
我试过了
DataRow rows = usersDataset1.Administrators.Rows[0];
MessageBox.Show(rows.ToString());
也试过
usersDataset data = new usersDataset();
MessageBox.Show(data.Administrators.Rows[0].ToString());
也试过
MessageBox.Show(usersDataset1.Tables[0].Rows[0].ToString());
以下所有代码段都会向IndexOutofRangeException
发送消息There is no Row at Index 0
。
然后我试了
MessageBox.Show(usersDataset1.Administrators.Rows.Count.ToString());
显示' 0'。
请问我做错了什么,我该怎么纠正呢?
编辑:当我将管理员从DataSources Windom拖到表单并运行应用程序时。显示该行。
答案 0 :(得分:2)
您当前的问题(如上一个示例所示)是您在Administrators表中没有数据。也许您没有正确地将数据加载到数据结构中?
另一方面,通常最好迭代表中的行,除非您总是知道它将包含多少行。例如:
foreach (DataRow row in usersDataset1.Administrators.Rows)
{
//Do stuff here...
}