asp.net – InvalidOperationException:没有数据时读取的尝试无
发布时间:2020-12-16 10:00:36 所属栏目:asp.Net 来源:网络整理
导读:SqlConnection conn = new SqlConnection(AllQuestionsPresented.connectionString); SqlCommand cmd = new SqlCommand(sb.ToString(),conn); cmd.Parameters.Add("@ThreadsID",SqlDbType.Int).Value = commentIDe; cmd.Parameters.Add("@CommentsID",SqlDbT
SqlConnection conn = new SqlConnection(AllQuestionsPresented.connectionString); SqlCommand cmd = new SqlCommand(sb.ToString(),conn); cmd.Parameters.Add("@ThreadsID",SqlDbType.Int).Value = commentIDe; cmd.Parameters.Add("@CommentsID",SqlDbType.Int).Value = commentIDe; try { conn.Open(); SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection); if (dr != null && dr["Comments"] != null && dr["Name"] != null && dr["Date"] != null && dr["UserID"]!=null)//> Invalid attempt to read when no data is present. { Comment = dr["Comments"].ToString(); UserName = dr["Name"].ToString(); Reputation=Int32.Parse(dr["Reputation"].ToString()); Time = (DateTime)AllQuestionsPresented.TryParse(dr["Date"].ToString()); UserID = (Guid)dr["UserID"]; } dr.Close(); } finally { if (conn.State != ConnectionState.Closed) { conn.Close(); } } 注意:我用while(dr.Read){}来迭代那段代码……这里没有显示. 为什么我会得到那个例外,我该如何摆脱它 更新: while (reader.Read())//Command runs through all the ThreadIDs that i have! { Comments allQ = new Comments((int)reader["CommentsID"]); allComments.Add(allQ); } 注释是代码所在的类,它在构造函数中有一个运行我提供的代码的方法. 可能是因为循环运行的次数太多了..然后异常被抛出我是对的吗? 解决方法
您的代码的以下部分是非法的
SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection); if (dr != null && dr["Comments"] ...) 在访问SqlDataReader的索引器之前,您必须调用一次Read方法(并验证它是否返回true),如文档所述:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- 使用ASP.Net MVC3中的jQuery动态填充下拉列表
- asp.net – Jquery datepicker:验证日期mm/dd/y
- asp.net通过Ajax UpdatePanel回传后滚动条位置变
- asp.net – 图片上传 – 本地主机中断
- ASP.NET十七种正则表达试
- 如何为ASP.NET_SessionId cookie设置HttpOnly?
- asp.net – 如何在Json中使用Gson将对象类型包含
- asp.net-mvc – 是否可以复制/克隆Web请求的Http
- asp.net-mvc-3 – 如何将ObjectResult转换为IQue
- asp.net-mvc – 在MVC 4中获取表头名称的最佳方法
热点阅读