用SqlHelper模块问题

lsg2005lsg 2004-09-17 11:19:14
代码

SqlDataReader dr;
string strconn=ConfigurationSettings.AppSettings["DSN"];
string strSql = "SELECT * FROM gc where id=@intSubjectId";
SqlParameter sqlParameter = new SqlParameter("@intSubjectId", id);
sqlParameter.Direction = ParameterDirection.Input;
sqlParameter.DbType = DbType.Int32;
try
{
dr = SqlHelper.ExecuteReader(strconn,CommandType.Text,strSql, new SqlParameter[]{sqlParameter});
lename.Text=dr["g_ename"].ToString();
}
catch (SqlException es)
{
throw es;
}
错误提示:
--------
在没有任何数据时进行无效的读取尝试。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.InvalidOperationException: 在没有任何数据时进行无效的读取尝试。

源错误:


行 51: {
行 52: dr = SqlHelper.ExecuteReader(strconn,CommandType.Text,strSql, new SqlParameter[]{sqlParameter});
行 53: lename.Text=dr["g_ename"].ToString();
行 54: }
行 55: catch (SqlException es)


源文件: c:\inetpub\wwwroot\test4\afterbehind\cj\cj_gc_info.aspx.cs 行: 53
为什么?库里也有数据啊
...全文
142 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
CSharpProgrammer 2004-09-17
  • 打赏
  • 举报
回复
UP
lsg2005lsg 2004-09-17
  • 打赏
  • 举报
回复
up
exboy 2004-09-17
  • 打赏
  • 举报
回复
dr = SqlHelper.ExecuteReader(strconn,CommandType.Text,strSql, new SqlParameter[]{sqlParameter});

// 在这里还要加一句 dr.Read();
dr.Read();
lename.Text=dr["g_ename"].ToString();

// 一般在读取数据的时候,还需判断一下是否有数据,这样才能保证程序不出错:

if (dr.HasRows)
{
dr.Read(); // 必须要的
lename.Text = dr["g_ename"].ToString();
}
lsg2005lsg 2004-09-17
  • 打赏
  • 举报
回复
上边方法是 public SqlDataReader view (int intSubjectId) 类型的
---------------
可我用下边这么写就对了
public bool View(int Gid)
{
SqlDataReader sqlDataReader = null;
bool flag1 = false;
string strconn=ConfigurationSettings.AppSettings["DSN"];
string strSql = "SELECT * FROM gc WHERE id=@Gid";
SqlParameter sqlParameter = new SqlParameter("@Gid",Gid);
sqlParameter.Direction = ParameterDirection.Input;
sqlParameter.DbType = DbType.String;
try
{
sqlDataReader = SqlHelper.ExecuteReader(strconn,CommandType.Text,strSql,new SqlParameter[]{sqlParameter});
if (sqlDataReader.Read())
{
flag1 = true;
Gid=Gid;
g_ename =sqlDataReader["g_ename"].ToString();
g_cname=sqlDataReader["g_cname"].ToString();
g_addree=sqlDataReader["g_addree"].ToString();
g_tel= sqlDataReader["g_tel"].ToString();
g_engry= sqlDataReader["g_engry"].ToString();
g_mcp= sqlDataReader["g_mcp"].ToString();
g_oldname=sqlDataReader["g_oldname"].ToString();
g_man=sqlDataReader["g_man"].ToString();
g_intro=sqlDataReader["g_intro"].ToString();
g_email= sqlDataReader["g_email"].ToString();

}
sqlDataReader.Close();
return flag1;
}
catch (SqlException e)
{
throw e;
}
}

62,041

社区成员

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

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

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

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