如何解决查询未添加到表
我是 Web 表单的新手,正在尝试将前端 aspx 页面中的值添加到我的 sql 表中。但是我无法将它添加到表格中。它正在打印除 ExecuteNonQuery() 之后的最后一个之外的所有提示值。它也没有打印异常。它没有显示任何提示。
这是CS文件中的代码:
namespace LibraryManagementSystem
{
public partial class Usersignup : System.Web.UI.Page
{
string strcon = ConfigurationManager.ConnectionStrings["con"].ConnectionString;
protected void Page_Load(object sender,EventArgs e)
{
}
//sign up button click event
protected void Button1_Click(object sender,EventArgs e)
{
Response.Write("<script>alert('Testing');</script>");
try
{
SqlConnection con = new SqlConnection(strcon);
if(con.State == ConnectionState.Closed)
{
con.Open();
}
Response.Write("<script>alert('Connection');</script>");
SqlCommand cmd = new SqlCommand("INSERT INTO dbo.member_master_tbl(full_name,dob,contact_no,email,state,city,pincode," +
"full_address,member_id,password,account_status) values" +
"(@full_name,@dob,@contact_no,@email,@state,@city,@pincode," +
"@full_address,@member_id,@password,@account_status) ",con);
Response.Write("<script>alert('Query');</script>");
cmd.Parameters.AddWithValue("(@full_name",Textbox3.Text.Trim());
cmd.Parameters.AddWithValue("(@dob",Textbox2.Text.Trim());
cmd.Parameters.AddWithValue("(@contact_no",Textbox1.Text.Trim());
cmd.Parameters.AddWithValue("(@email",Textbox4.Text.Trim());
cmd.Parameters.AddWithValue("(@state",DropDownList1.SelectedItem.Value);
cmd.Parameters.AddWithValue("(@city",Textbox6.Text.Trim());
cmd.Parameters.AddWithValue("(@pincode",Textbox7.Text.Trim());
cmd.Parameters.AddWithValue("(@full_address",Textbox5.Text.Trim());
cmd.Parameters.AddWithValue("(@member_id",Textbox8.Text.Trim());
cmd.Parameters.AddWithValue("(@password",Textbox9.Text.Trim());
cmd.Parameters.AddWithValue("(@account_status","pending");
Response.Write("<script>alert('Table');</script>");
cmd.ExecuteNonQuery();
con.Close();
Response.Write("<script>alert('Sign Up Successful. Go to User Login to Login');</script>");
}
catch (Exception ex)
{
Response.Write("<script>alert('" + ex.Message + "');</script>");
}
}
}
}
它在执行非查询之前打印所有响应值
我不明白为什么它不打印最后 2 个回复。请帮忙
解决方法
我认为发生的情况是,当您添加参数值时,每个参数名称中的“@”前都有一个左括号,因此当查询执行时,它抛出异常,无法在数据库表,并且无法发送最后一个响应。用以下代码替换该段代码(删除每一行的左括号):
cmd.Parameters.AddWithValue("@full_name",Textbox3.Text.Trim());
cmd.Parameters.AddWithValue("@dob",Textbox2.Text.Trim());
cmd.Parameters.AddWithValue("@contact_no",Textbox1.Text.Trim());
cmd.Parameters.AddWithValue("@email",Textbox4.Text.Trim());
cmd.Parameters.AddWithValue("@state",DropDownList1.SelectedItem.Value);
cmd.Parameters.AddWithValue("@city",Textbox6.Text.Trim());
cmd.Parameters.AddWithValue("@pincode",Textbox7.Text.Trim());
cmd.Parameters.AddWithValue("@full_address",Textbox5.Text.Trim());
cmd.Parameters.AddWithValue("@member_id",Textbox8.Text.Trim());
cmd.Parameters.AddWithValue("@password",Textbox9.Text.Trim());
cmd.Parameters.AddWithValue("@account_status","pending");
至于为什么没有发送“catch”块中的响应,异常消息中可能包含一些被解释为 JavaScript 的字符。由于您对“alert”的调用使用单引号,如果异常返回的消息中还包含任何单引号,则将终止传递给警报的字符串,并且该引号之后的所有内容都将被视为 JavaScript。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。