急!!!ExecuteScalar和ExecuteReader问题

2025-03-06 19:10:16
推荐回答(4个)
回答1:

根据你说的情况,相信你已经成功从数据库中得到了数据!所以下面我就不写连接数据库什么什么的了!把主要的代码写给你看,代码如下:
//从SqlCommand对象中得到一个SqlDataReader对象.
SqlDataReader sqlDr = sqlCmd.ExecuteReader();
//Read()函数每次读取一行,返回一个bool值.如果要读取多行可以用while中~
if (sqlDr.Read())
{
string userName = sqlDr.GetString(0);
int userAge = sqlDr.GetInt32(1);
........
}
//记得要关闭sqlDr对象~
sqlDr.Close();

告一段落~谢谢`

回答2:

ExecuteScalar只能读一个数据(也就是数据表中的一个记录的某个字段),ExecuteReader你read一次就读一条记录啊
DataReader dr=cmd.ExecuteReader;
dr.Reader();
就只读了一条记录了。
select top1 字段列表 from tableName where 条件。
貌似是这样的 。。

回答3:

sql里面使用top 1来限制返回的行啊
使用reader也行 直接使用reader.reader方法
然后读到1个实体里面然后返回该实体

回答4:

ExecuteReader你读完一行就把reader关掉不就行了,他跳到下一行对你程序执行没有任何影响,或者你在sql里面指定TOP 1