为什么读不出前一条数据

linzuoyi 2008-10-16 10:15:20
#region 绑定下拉列表
private void get_dropListCategroy()
{
string strSQL = "select CID,CategoryName from Category where ParentId=0 ";
string connstring = ConfigurationManager.AppSettings["connectionString"].ToString();
SqlConnection conn = new SqlConnection(connstring);
SqlCommand cmd = new SqlCommand(strSQL, conn);
conn.Open();
SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
this.CategoryDownList.DataSource = dr;
this.CategoryDownList.DataValueField = "CID";
this.CategoryDownList.DataTextField= "CategoryName";
this.CategoryDownList.DataBind();
}
dr.Close();
cmd.Clone();
conn.Close();
}
#endregion

数据库里有
CID CategroyName parentsID
1 球类 0
2 音乐 0
3 手机 0

只绑定了 2 3?为什么绑定不出1 ?
...全文
88 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
胖叮 2008-10-16
  • 打赏
  • 举报
回复
if(dr.Read())向下只读,已经读了一行了
troy-zhou 2008-10-16
  • 打赏
  • 举报
回复
学习了
「已注销」 2008-10-16
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 lwp1493 的回复:]
if(dr.Read())//在此已读过一行了
[/Quote]
if(dr.Read()) 改成 if(dr.HasRows)
满衣兄 2008-10-16
  • 打赏
  • 举报
回复
if (dr.HasRead())
cpp2017 2008-10-16
  • 打赏
  • 举报
回复
if (dr.HasRows)
「已注销」 2008-10-16
  • 打赏
  • 举报
回复
if(dr.Read())//在此已读过一行了
jack20080808 2008-10-16
  • 打赏
  • 举报
回复
if (dr.Read())
{
this.CategoryDownList.DataSource = dr;
this.CategoryDownList.DataValueField = "CID";
this.CategoryDownList.DataTextField= "CategoryName";
this.CategoryDownList.DataBind();
}


改 成
this.CategoryDownList.DataSource = dr;
this.CategoryDownList.DataValueField = "CID";
this.CategoryDownList.DataTextField= "CategoryName";
this.CategoryDownList.DataBind();
赤色火焰 2008-10-16
  • 打赏
  • 举报
回复
把if(dr.Read())去掉
shove 2008-10-16
  • 打赏
  • 举报
回复
SqlDataReader 是向下顺序、只读的

if (dr.Read())

执行后,其指针就已经向下移动了一个。
DataBind() 时,内部也是先read后绑定。

所以,去掉 if (dr.read())

--------------------------------------

SqlDataReader dr = cmd.ExecuteReader();

这里可以加 try 进行异常扑捉。
下载代码方式:https://pan.quark.cn/s/a4b39357ea24 Node.js作为一个运行环境,其基础是Chrome的V8引擎,它最突出的优势在于能够支持JavaScript代码在服务器端执行,从而为网络应用程序创造了一个全新的执行平台。在Node.js生态中,文件系统的相关操作由fs模块承担,而fs.readFile作为其中的关键方法,专门用于实现文件内容的获取。本文旨在全面阐释fs.readFile方法的相关信息,包括其功能说明、语法结构、参数配置、应用范例以及源代码实现,以供那些需要在Node.js环境中进行文件操作的程序员参考。 fs.readFile方法具备异步特性,意味着它在执行文件读取任务时不会中断当程序的运行流程,使得程序的其他部分能够同步执行。该方法的工作流程是:一旦调用,Node.js会立即反馈执行信号,然后在后台线程中执行文件读取任务。当文件读取任务完成后,Node.js会通过一个预设的回调函数来处理读取结果或识别错误。 fs.readFile方法的语法结构如下: fs.readFile(path[, options], callback) - path:一个必须的参数,其数据类型可以是字符串、Buffer或Uint8Array,用于指示文件的具体位置或文件描述符。 - options:一个可选参数,形式为一个对象,用于设定文件的编码格式及打开模式。该对象中可以包含encoding(字符编码,默认值为null,此时返回Buffer对象)和flag(文件打开模式,默认值为r,代表只读模式)。 - callback:一个必须的回调函数,在文件读取任务结束后被触发。若读取过程中出现错误,err参数将包含错误详情,否则为n...

62,272

社区成员

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

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

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

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