这段代码哪错了?
为什么更新失败?
大家看看~
protected void Button1_Click(object sender, EventArgs e)
{
try
{
string id = Request.QueryString["id"];
//设置数据库链接字符串
string connectionString = WebConfigurationManager.ConnectionStrings["Pubs"].ConnectionString;
SqlConnection conn = new SqlConnection(connectionString);//定义SQL连接
string strUpdate = "UPDATE yuanxiao SET yxname = @yxname, yxnum = @yxnum, fenlei = @fenlei, tel = @tel, jianjie = @jianjie" + "WHERE id = @id";
SqlCommand cmdUpdate = new SqlCommand(strUpdate, conn);
cmdUpdate.Parameters.Add("@id", id);
cmdUpdate.Parameters.Add("@yxname", TextBox1.Text);
cmdUpdate.Parameters.Add("@yxnum", TextBox2.Text);
cmdUpdate.Parameters.Add("@fenlei", TextBox3.Text);
cmdUpdate.Parameters.Add("@tel", TextBox4.Text);
cmdUpdate.Parameters.Add("@jianjie", WQTextBox1.Text);
conn.Open();
cmdUpdate.ExecuteNonQuery();//向数据库提交
conn.Close();
Response.Redirect("yuanxiaoguanli.aspx");//防止重复提交可跳转到另一个页面。
}
catch
{
Response.Write("<script language='javascript'>alert('修改失败!') </script>");
}
为什么更新失败?
大家看看~
protected void Button1_Click(object sender, EventArgs e)
{
try
{
string id = Request.QueryString["id"];
//设置数据库链接字符串
string connectionString = WebConfigurationManager.ConnectionStrings["Pubs"].ConnectionString;
SqlConnection conn = new SqlConnection(connectionString);//定义SQL连接
string strUpdate = "UPDATE yuanxiao SET yxname = @yxname, yxnum = @yxnum, fenlei = @fenlei, tel = @tel, jianjie = @jianjie" + "WHERE id = @id";
SqlCommand cmdUpdate = new SqlCommand(strUpdate, conn);
cmdUpdate.Parameters.Add("@id", id);
cmdUpdate.Parameters.Add("@yxname", TextBox1.Text);
cmdUpdate.Parameters.Add("@yxnum", TextBox2.Text);
cmdUpdate.Parameters.Add("@fenlei", TextBox3.Text);
cmdUpdate.Parameters.Add("@tel", TextBox4.Text);
cmdUpdate.Parameters.Add("@jianjie", WQTextBox1.Text);
conn.Open();
cmdUpdate.ExecuteNonQuery();//向数据库提交
conn.Close();
Response.Redirect("yuanxiaoguanli.aspx");//防止重复提交可跳转到另一个页面。
}
catch
{
Response.Write("<script language='javascript'>alert('修改失败!') </script>");
}
解决方案 »
- Winform导出Excel2007怎么兼容2003???
- 求关于数组问题的一段代码
- 请看看这是什么编码?
- 急!200分求助在WinForm中如何设置dataGrid中的一个单元格属性 readOnly 与 对齐方式
- QueryString到底能带多长的字符串?为什么6个汉字都会丢失一个?4个汉字的情况下才不会丢失~!
- 求救啊!上传文档和 enctype="multipart/form-data" 的问题!
- 关于.net remoting的一点疑问?
- 请问Microsoft Data Access Componets(MDAC) version 2.6 or later哪里有下载?
- 问题很简单,但请帮帮我。
- 请教,调用PDF控件的时候出错
- 怎样把窗体里的控件最大化时还显示在窗体的中间?
- C#与Flash客户端TCP通讯的丢包问题
where前面加个空格
你sql会变成这样的。语法错误了。肯定是执行不了的。
cmdUpdate.Parameters.Add("@yxname", TextBox1.Text);
cmdUpdate.Parameters.Add("@yxnum", TextBox2.Text);
cmdUpdate.Parameters.Add("@fenlei", TextBox3.Text);
cmdUpdate.Parameters.Add("@tel", TextBox4.Text);
cmdUpdate.Parameters.Add("@jianjie", WQTextBox1.Text);
你数据库的参数全部都是string类型的?
最好把参数类型也写对。
{
string id = Request.QueryString["id"];
//设置数据库链接字符串
string connectionString = WebConfigurationManager.ConnectionStrings["Pubs"].ConnectionString; using (SqlConnection conn = new SqlConnection(connectionString)) //定义SQL连接
{
conn.Open(); string strUpdate = "UPDATE YUANXIAO SET "
+ "YXNAME = @YXNAME, YXNUM = @YXNUM, "
+ "FENLEI = @FENLEI, TEL = @TEL,"
+ "JIANJIE = @JIANJIE "
+ "WHERE ID = @ID";
SqlCommand cmdUpdate = new SqlCommand(strUpdate, conn);
cmdUpdate.Parameters.AddWithValue("id", id);
cmdUpdate.Parameters.AddWithValue("yxname", TextBox1.Text);
cmdUpdate.Parameters.AddWithValue("yxnum", TextBox2.Text);
cmdUpdate.Parameters.AddWithValue("fenlei", TextBox3.Text);
cmdUpdate.Parameters.AddWithValue("tel", TextBox4.Text);
cmdUpdate.Parameters.AddWithValue("jianjie", WQTextBox1.Text);
cmdUpdate.ExecuteNonQuery();//向数据库提交
}
Response.Redirect("yuanxiaoguanli.aspx");//防止重复提交可跳转到另一个页面。
}
catch
{
Response.Write("<script language='javascript'>alert('修改失败!') </script>");
}
参数类型也改好。。
你这样写就全是字符串类型了。。
update …… where id='1'
你觉得会更新成功么~~~
你id本来是int的
cmdUpdate.Parameters.Add("@yxname", SqlDbType.VarChar);
cmdUpdate.Parameters.Add("@yxnum", SqlDbType.VarChar);
cmdUpdate.Parameters.Add("@fenlei", SqlDbType.VarChar);
cmdUpdate.Parameters.Add("@tel", SqlDbType.VarChar);
cmdUpdate.Parameters.Add("@jianjie", SqlDbType.VarChar); cmd.Parameters[0].Value = id;
cmd.Parameters[1].Value = Text1.Text;
cmd.Parameters[2].Value = Text2.Text;
cmd.Parameters[3].Value = Text3.Text;
cmd.Parameters[4].Value = Text4.Text;
cmd.Parameters[5].Value = Text5.Text;视你的情况稍改下。
我是用这个string id = Request.QueryString["id"];
获得的ID
{
try
{
int id = int.Parse(Request.QueryString["id"].ToString());
//设置数据库链接字符串
string connectionString = WebConfigurationManager.ConnectionStrings["Pubs"].ConnectionString;
SqlConnection conn = new SqlConnection(connectionString);//定义SQL连接
string strUpdate = "UPDATE yuanxiao SET yxname = @yxname, yxnum = @yxnum, fenlei = @fenlei, tel = @tel, jianjie = @jianjie WHERE id = id";
SqlCommand cmdUpdate = new SqlCommand(strUpdate, conn); cmdUpdate.Parameters.Add("@yxname", TextBox1.Text);
cmdUpdate.Parameters.Add("@yxnum", TextBox2.Text);
cmdUpdate.Parameters.Add("@fenlei", TextBox3.Text);
cmdUpdate.Parameters.Add("@tel", TextBox4.Text);
cmdUpdate.Parameters.Add("@jianjie", WQTextBox1.Text); conn.Open();
cmdUpdate.ExecuteNonQuery();//向数据库提交
conn.Close();
Response.Redirect("yuanxiaoguanli.aspx");//防止重复提交可跳转到另一个页面。
}
catch
{
Response.Write("<script language='javascript'>alert('修改失败!') </script>");
}
}
你sql出问题了啊
string strUpdate = "UPDATE yuanxiao SET yxname = @yxname, yxnum = @yxnum, fenlei = @fenlei, tel = @tel, jianjie = @jianjie WHERE id = @id";
你写的sql相关于
update ……无条件或者条件是where 1=1
实际上使用一下debug再使用一下数据库的事件查探器。一般问题都解决了~