已有打开的与此命令相关联的 DataReader,必须首先将它关闭——什么原因啊???
已有打开的与此命令相关联的 DataReader,必须首先将它关闭——什么原因啊???
提示错误如下:
“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------
已有打开的与此命令相关联的 DataReader,必须首先将它关闭。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.InvalidOperationException: 已有打开的与此命令相关联的 DataReader,必须首先将它关闭。
源错误:
行 40: string strSQL1 = "INSERT INTO wyx_user (wyx_name,wyx_pass) VALUES ('" + TextBox1.Text + "','" + password + "')";
行 41: SqlCommand cmd1 = new SqlCommand(strSQL1, ConnSql);
行 42: cmd1.ExecuteNonQuery();
行 43:
行 44: Response.Write("<script>alert('添加成功!')</script>");
源文件: f:\wyx3.0\wyxback\admin_adminadd.aspx.cs 行: 42
源码:
说明一下,这个程序的功能是添加管理员
数据库里的管理员表是wyx_user
我估计是if语句有问题,因为要考虑到如果添加的用户名已经存在,就要给出提示信息
提示错误如下:
“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------
已有打开的与此命令相关联的 DataReader,必须首先将它关闭。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.InvalidOperationException: 已有打开的与此命令相关联的 DataReader,必须首先将它关闭。
源错误:
行 40: string strSQL1 = "INSERT INTO wyx_user (wyx_name,wyx_pass) VALUES ('" + TextBox1.Text + "','" + password + "')";
行 41: SqlCommand cmd1 = new SqlCommand(strSQL1, ConnSql);
行 42: cmd1.ExecuteNonQuery();
行 43:
行 44: Response.Write("<script>alert('添加成功!')</script>");
源文件: f:\wyx3.0\wyxback\admin_adminadd.aspx.cs 行: 42
源码:
protected void Button1_Click(object sender, EventArgs e)
{
string strConn = ConfigurationManager.ConnectionStrings["SperConnectionString1"].ToString();
SqlConnection ConnSql = new SqlConnection(strConn);
ConnSql.Open();
string strSQL = "SELECT * FROM wyx_user WHERE wyx_name='" + TextBox1.Text + "'";
SqlCommand cmd = new SqlCommand(strSQL, ConnSql);
SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())//如果用户名存在
{
Response.Write("<script>alert('对不起,用户名已被注册,请换个名称,谢谢!')</script>");
}
else
{
string password = FormsAuthentication.HashPasswordForStoringInConfigFile(TextBox2.Text, "MD5");
string strSQL1 = "INSERT INTO wyx_user (wyx_name,wyx_pass) VALUES ('" + TextBox1.Text + "','" + password + "')";
SqlCommand cmd1 = new SqlCommand(strSQL1, ConnSql);
cmd1.ExecuteNonQuery();
Response.Write("<script>alert('添加成功!')</script>");
}
dr.Close();
ConnSql.Close();
Response.Redirect("admin_admin.aspx");//返回管理页面
}说明一下,这个程序的功能是添加管理员
数据库里的管理员表是wyx_user
我估计是if语句有问题,因为要考虑到如果添加的用户名已经存在,就要给出提示信息
...全文
相关推荐
已有打开的与此命令相关联的DataReader,必须首先将它关闭。对于此异常的理解
在探讨“已有打开的与此命令相关联的DataReader, 必须首先将它关闭”异常时,首先要理解几个关键概念:DataReader对象、Connection对象,以及异常发生的原因和解决方法。
C语言中system()执行cmd命令打开关闭程序的方法
总之,C语言中的system()函数是一个强大且简单的工具,通过它可以让C语言程序执行外部命令,包括打开和关闭其他程序。
C#使用ExecuteReader返回DataReader
(); // 注意:ExecuteNonQuery通常用于没有结果集的命令,但在这里用于获取返回值```这里的关键点在于,当我们使用`ExecuteReader`时,必须等到`DataReader`关闭
DCOM 遇到错误“无法启动服务,原因可能是已被禁用或与其相关联的设备没有启动
DCOM 错误“无法启动服务,原因可能是已被禁用或与其相关联的设备没有启动”可以通过重新启动 DCOM 服务、修改注册表、使用 sc.exe 命令或使用故障恢复控制台来解决。
如何使用eclipse打开已有工程
#### 打开已有项目的步骤对于初次接触Eclipse的开发者来说,如何打开一个已有的项目可能会遇到一些困惑。下面详细介绍如何在Eclipse中打开一个现有的项目:1.


