
ExcuteScalar默认只能获取查询结果的第一行第一列,如果要获取其他行的值,可以使用DataSet或者DataReader进行读取。
DataSet获取第一行第二列:DataSet ds =new DataSet();
dsTables[0]Rows[0][1]ToString();
DataReader则是:
SqlDataReader dr =cmdExcuteReader();
if(drRead()) // DataReader是一行一行的读取,直至读取到最后一行
{
string temp = dr["列名"]ToString();
}
例如数据表a有id,names,pwd三列,那么写:
var
query
=
from
aa
in
dba
select
new
{aid,
anames,apwd
};
//显示两列极其以上,需要使用{}把字段名称括起来,表示一个匿名方法
只显示一列:var
query
=
from
aa
in
dba
select
new
aid
这样就行了~~
看你的写法,GetReader方法应该返回的是DataReader,可使用以下方法获取
reader = DBHelperGetReader(sql, new SqlParameter("@UserName", name));
readerRead();
userNum = ConvertToInt32(reader[0]ToString());
readerClose();
DBHelper是自自己定的类,看一下是否有ExecuteScalar方法,可直接获取第一行第一列的值。如果没有,可以在DBHelper类中自己定义该方法,返回commandExecuteScalar()方法即可。
//string connstr== "Provider=MicrosoftACEOLEDB120;Data Source=" + Path + ";Extended Properties='Excel 120;HDR=Yes;IMEX=1;'";
using (OleDbConnection conn = new OleDbConnection(connstr))
{
connOpen();
OleDbCommand cmd = connCreateCommand();
cmdCommandText = sql; // 查询sql语句字符串
OleDbDataReader reader = commandExecuteReader();
while (readerRead())
{
var t1 = readerGetValue(0); //使用GetValue读取速度最快
var t2 = readerGetValue(1);
var t3 = readerGetValue(2);
var t4 = readerGetValue(3);
var t5 = readerGetValue(4);
}
}
以上就是关于C#读取第一行第二列的值如何读取全部的内容,包括:C#读取第一行第二列的值如何读取、C# 如何得到数据库一个表的某一列的所有数据、用DataReader怎么获取返回的行数值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)