送分讨论:算是BUG吗?

7707 2006-09-12 08:15:55
新建一OleDbConnection,执行一次或数次ExecuteScalar,之后再使用ExecuteReader将只能得到一行一列数据
...全文
348 22 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
anheizhizi 2006-09-12
  • 打赏
  • 举报
回复
大家都没明白,LZ是直接来送分的 ^^
jason_cl 2006-09-12
  • 打赏
  • 举报
回复
请楼主去查看dr.read()的返回
或者想想
while(dr.read())
{
}
7707 2006-09-12
  • 打赏
  • 举报
回复
nickppa(张) ( ) 信誉:100 Blog
----
注意:我说的是一行一列

Select pwd,email From T_Users Where ID=@ID
应该返回两列吧

短短一句话,这么多人看不懂

----
iuhxq(小灰) ( ) 信誉:100 Blog
--跟踪过,语句正常


另外说明:这是在.net 2.0中遇到的,1.1没测试
iuhxq 2006-09-12
  • 打赏
  • 举报
回复
在OleDbDataReader dr = cmd.ExecuteReader();断点,然后查看cmd的CommandText的值?
nickppa 2006-09-12
  • 打赏
  • 举报
回复
Select pwd,email From T_Users Where ID=@ID
ms只返回一条数据,SQL你执行下能返回多条吗?
heyidan 2006-09-12
  • 打赏
  • 举报
回复
對啊!就是這樣的呀!
jerryfos 2006-09-12
  • 打赏
  • 举报
回复
string uName = cmd.ExecuteScalar().ToString();之后加一句
string temp = cmd.ExecuteNonQuery().ToString();试试
sunjiancn 2006-09-12
  • 打赏
  • 举报
回复
呵呵 是嘛 也试一下 昨天才接触OleDbConnection
7707 2006-09-12
  • 打赏
  • 举报
回复
BS坏坏就这么一句话也不看清楚,我是说再使用DataReader...
7707 2006-09-12
  • 打赏
  • 举报
回复
以前没这么写过代码,一般一个连接只执行一个DataReader,想省事试了一下,才发现这个

Access库

using(OleDbConnection conn = new OleDbConnection("c:\\db.mdb"))
{
OleDbCommand cmd = new OleDbCommand("Select uName From T_Users Where ID=@ID", conn);
cmd.Parameters.Add("@ID", OleDbType.Integer).Value = 1;
string uName = cmd.ExecuteScalar().ToString();

cmd.CommandText = "Select pwd,email From T_Users Where ID=@ID";
OleDbDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
dr[0].ToString();//这个可以取出
dr[1].ToString();//这里超出索引...
}
dr.Close();
conn.Close();
}
jiechifeiniao 2006-09-12
  • 打赏
  • 举报
回复
代码
绝代坏坏 2006-09-12
  • 打赏
  • 举报
回复
大哥executeScalar返回的本来就是首行首列内容呀。
dsclub 2006-09-12
  • 打赏
  • 举报
回复
代码怎么写的?这么有意思?
enderjiang 2006-09-12
  • 打赏
  • 举报
回复
jf
shingkong 2006-09-12
  • 打赏
  • 举报
回复
莫名
zeng_c_h 2006-09-12
  • 打赏
  • 举报
回复
應該是樓主大哥犯了低級錯誤吧,說不定就一行符合條件的數據哈
myminimouse 2006-09-12
  • 打赏
  • 举报
回复
mark
nyf1220 2006-09-12
  • 打赏
  • 举报
回复
Select pwd,email From T_Users Where ID=@ID 是不是就一行啊,大哥!!
你换 Select pwd,email From T_Users 试下。
zeng_c_h 2006-09-12
  • 打赏
  • 举报
回复
應該說是不可能的,哪有這樣的道理嘛,微軟的工程師有這么讓人失望的嗎?
whu531 2006-09-12
  • 打赏
  • 举报
回复
存储过程的问题
建议去看一下ADO.NET的红皮书!
加载更多回复(2)

62,242

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧