在 System.Web.HttpException 中第一次偶然出现的“System.Web.dll”类型的异常 其他信息:无法验证数据

maybeth 2020-03-22 09:18:17
新手第一次做,调试了很多遍,出现了大量的异常,往数据库插值一直实现不了,哭了,问题出现在cmd1.ExecuteNonQuery();这里
protected void Button1_Click(object sender, EventArgs e)
{
string vusername = username.Text.Trim();
string vpassword = password.Text.Trim();
string vvname = vname.Text.Trim();
string vsex = sex.SelectedItem.Text.ToString();
string vid = sid.Text.Trim();
string vphone = phonenumber.Text.Trim();
string vmail = mail.Text.Trim();
string vtype="Visitor";

string sqltext = "select * from AllUser where username='" + vusername + "'";
string sqltext1 = "insert into AllUser(username,password,type) values('" + vusername + "','" + vpassword + "','" + vtype + "')";

string sqltext2 = "insert into Visitor(username,vname,sex,id,phonenumber,mail) values('"+vusername+"','"+vvname+"','"+vsex+"','"+vid+"','"+vphone+"','"+vmail+"')";

try
{
string connStr = @"Data Source=.\SQLEXPRESS;AttachDbFilename=D:\Travel Self-help System\App_Data\Travel.MDF;Integrated Security=True;User Instance=True";
SqlConnection conn = new SqlConnection(connStr);
conn.Open();
SqlCommand cmd = new SqlCommand(sqltext, conn);
SqlDataReader dr = cmd.ExecuteReader();

if (dr.Read())
{
Response.Write("<script>alert('用户名已存在!');</script>");
Response.Redirect("VisitorRegister.aspx");
}
else
{

SqlCommand cmd1 = new SqlCommand(sqltext1, conn);
cmd1.ExecuteNonQuery();
SqlCommand cmd2 = new SqlCommand(sqltext2, conn);
cmd2.ExecuteNonQuery();
Response.Write("<script>alert('注册成功!');</script>");
Response.Redirect("Login.aspx");

/*if (cmd1.ExecuteNonQuery()>0&&cmd2.ExecuteNonQuery()>0)
{
Response.Write("<script>alert('注册成功!');</script>");
Response.Redirect("Login.aspx");
}*/
}
conn.Close();

}
catch
{

Response.Write("出现错误,请检查您的填写");
Response.End();
}


}

异常主要有:
在 System.Web.HttpException 中第一次偶然出现的“System.Web.dll”类型的异常 其他信息:无法验证数据
在 System.Web.HttpException 中第一次偶然出现的“System.Web.dll”类型的异常
在 System.UnauthorizedAccessException 中第一次偶然出现的“mscorlib.dll”类型的异常
在 System.InvalidOperationException 中第一次偶然出现的“System.Web.dll”类型的异常
在 System.UnauthorizedAccessException 中第一次偶然出现的“mscorlib.dll”类型的异常
在 System.InvalidOperationException 中第一次偶然出现的“System.Web.dll”类型的异常
在 System.InvalidOperationException 中第一次偶然出现的“System.Web.dll”类型的异常
在 System.UnauthorizedAccessException 中第一次偶然出现的“mscorlib.dll”类型的异常
在 System.InvalidOperationException 中第一次偶然出现的“System.Web.dll”类型的异常
在 System.InvalidOperationException 中第一次偶然出现的“System.Web.dll”类型的异常
在 System.UnauthorizedAccessException 中第一次偶然出现的“mscorlib.dll”类型的异常
在 System.InvalidOperationException 中第一次偶然出现的“System.Web.dll”类型的异常
...全文
362 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
正怒月神 版主 2020-03-23
  • 打赏
  • 举报
回复
新手错误,reader开启必须关闭。 其实你下载一个sqlhelper或者dbhelper就好了。 网上很多。没必要自己重复的写sqlconnection和sqlcommand
maybeth 2020-03-23
  • 打赏
  • 举报
回复
引用 1 楼 EdsionWang的回复:
SqlDataReader使用完之后是需要关闭的,cmd1执行ExecuteNonQuery前加上dr.Close();
哇真的是sqldatareader没有关闭的原因,我加上dr.close就插值成功了,但是还是会显示有很多异常,不知道怎么回事
maybeth 2020-03-23
  • 打赏
  • 举报
回复
引用 2 楼 by_封爱的回复:
跟dr关闭不关闭没关系.. 你这代码 如果没猜错的话 应该是弹出了"出现错误,请检查您的填写" 是吧? 但是 你使用了try 就让你丢掉了调试的机会. 最起码的 你也得把异常先抛出来 才知道具体错误..你这代码运行 除非断点,否则不知道具体的错误. 不过来起来 应该是数据库连接失败 或者是 密码不正确之类的. 你本地数据库是附加的方式吗? 直接能连上吗?
我设了很多断点,数据库应该是连上了的,select语句应该也正常执行了,不然不会跳到else里面吧
by_封爱 2020-03-23
  • 打赏
  • 举报
回复
跟dr关闭不关闭没关系.. 你这代码 如果没猜错的话 应该是弹出了"出现错误,请检查您的填写" 是吧? 但是 你使用了try 就让你丢掉了调试的机会. 最起码的 你也得把异常先抛出来 才知道具体错误..你这代码运行 除非断点,否则不知道具体的错误. 不过来起来 应该是数据库连接失败 或者是 密码不正确之类的. 你本地数据库是附加的方式吗? 直接能连上吗?
EdsionWang 2020-03-23
  • 打赏
  • 举报
回复
SqlDataReader使用完之后是需要关闭的,cmd1执行ExecuteNonQuery前加上dr.Close();

62,041

社区成员

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

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

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

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