用ExecuteReader()读取SQL数据库中数据,符合条件的有多行,用Read()先读取一行后,如何读取一行?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用ExecuteReader()读取SQL数据库中数据,符合条件的有多行,用Read()先读取一行后,如何读取一行?相关的知识,希望对你有一定的参考价值。

谢谢各位,但我是用文本框等控件显示的,显示一行数据后,想点一下“下一步”按钮,更新显示下一行数据。最好用VB代码,我是用VB写的。万分感谢
用while(reader.Reader())之后直接显示的是最后一条,前边的数据就显示不了,引进全局变量控制也不行

SqlDataReader reader=xx.ExecuteReader();
while(reader.Reader())//判断是否还有下一条数据

//接受后的行内容可以在这里进行赋值,你会获取一行赋值,这里就是多行赋值,你可以先用实体类接收,然后放入list或者其他的集合当中,当需要的时候去遍历结合,或者datatable也可以,dateset也行。不知道你需要的什么方式赋值。
参考技术A DataReader.Read()读取当前下一行记录,如果有多条记录可以使用
List<string> list = new List<string>();
while(DataReader.Read())

list.Add(DataReader.GetString(你要获取的数据的列序号));

循环读取
参考技术B 假设读取数据表 b中的 字段a 数据内容存在一个List<string>中 a字段为 nvarchar型.
List<string> lst = new List<string>();
using(SqlConnection conn= new SqlConnection(ConnectionString))

string Sql="Select a From b";
SqlCommand cmd = new SqlCommand(Sql,conn);
try

conn.Open();
IDataReader dr= cmd.ExecuteReader();
while(dr.Read()) //不断的读数据

if(!Convert.IsNull("a")) lst.add( dr["a"].toString()); //读取数据放置 List中


catch(Exception ex)
throw new Exception(ex.Message);

finish

if(conn.State==ConnectionState.Open)
conn.Close();

参考技术C 必须判断 Reader()
当SqlDataReader 的sdr 有内容时,才会读取,否则报错。
用if 或者 while 都可以
参考技术D where 语句

c#中SqlDataReader dr = cmd.ExecuteReader();然后读取dr.read(),用了while循环,就一直循环了

我查到的数据只有3条然后就一直循环出现这3条数据,代码如下
string sql =sql语句; SqlConnection con = new SqlConnection("server=XL-20120505YISU;database=jianguan;uid=sa;pwd=123");
SqlCommand cmd = new SqlCommand(sql, con);
con.Open();
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())

this.label2.Text += " " + dr[0].ToString() + " " + dr[1].ToString() + "\n";

从语句上看并没有什么问题,建议确认下数据返回是否正确。必要时下断点看看流程。 参考技术A 用IF(dr.Read())试试

以上是关于用ExecuteReader()读取SQL数据库中数据,符合条件的有多行,用Read()先读取一行后,如何读取一行?的主要内容,如果未能解决你的问题,请参考以下文章

ExecuteNonQuery,ExecuteReader,ExecuteScalar 区别

用C#通过sql语句操作Sqlserver数据库教程

SQLDataReader 在 ExecuteReader 之后读取为空

ExecuteReader()获得数据

SQL 查询字符串在 SQL Server Management Studio 中有效,但在带有 SQLCommand.ExecuteReader 的 VB.net 中无效

阅读器更新图片