sql 存储过程 - 使用 Idatareader 检索多行数据时遇到问题

发布于 11-14 20:02 字数 438 浏览 8 评论 0原文

我有一个执行此操作的存储过程:(

SELECT TOP 4 FROM dbo.test

表包含 5 行)

我的 C# 代码是:

IDataReader test= ((IDataReader)(DataProvider.Instance().ExecuteReader("fetchtest")));
 test.Read();
 title1.Text = test.GetString(0);
 title2.Text = test.GetString(1);
 title3.Text = test.GetString(2);
 title4.Text = test.GetString(3); 

但是我只能显示 0 和 1。2+ 会给我一个索引错误。有没有更好的方法来检索所有行?

谢谢

I have a stored procedure that does this:

SELECT TOP 4 FROM dbo.test

(table contains 5 rows)

My c# code is:

IDataReader test= ((IDataReader)(DataProvider.Instance().ExecuteReader("fetchtest")));
 test.Read();
 title1.Text = test.GetString(0);
 title2.Text = test.GetString(1);
 title3.Text = test.GetString(2);
 title4.Text = test.GetString(3); 

However I can only display 0 and 1. 2+ will give me an index error. Is there a better way to retrieve all rows?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

糖粟与秋泊2024-11-21 20:02:56

IDataReader.GetString(2) 返回第三列的值,而不是记录。您需要使用 Read() 方法来前进到下一条记录。

IDataReader.GetString(2) returns the value of the third column, not record. You need to use Read() method to advance to the next record.

无尽的现实2024-11-21 20:02:56

就像 a1ex07 所说,GetString 获取第 n 列。这是一个完整的代码示例。

List<string> titles = new List<string>();
using (IDataReader test = ((IDataReader)(DataProvider.Instance().ExecuteReader("fetchtest"))))
{
    while (test.Read())
    {
       titles.Add(test.GetString(0));
    }
}


title1.Text = titles[0];
title2.Text = titles[1];
title3.Text = titles[2];
title4.Text = titles[3];

Like a1ex07 said, GetString gets the nth column. Here is a complete code sample.

List<string> titles = new List<string>();
using (IDataReader test = ((IDataReader)(DataProvider.Instance().ExecuteReader("fetchtest"))))
{
    while (test.Read())
    {
       titles.Add(test.GetString(0));
    }
}


title1.Text = titles[0];
title2.Text = titles[1];
title3.Text = titles[2];
title4.Text = titles[3];
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文