string strsql = "";
if (TextBox2.Text == "edit")
{
strsql = "update user set uname=@p1,password=@p2,type=@p3 where uid=" + TextBox1.Text;
}
else if (TextBox2.Text == "add")
{
strsql = "insert into user(uname,password,type) values(@p1,@p2,@p3)";
}
else if (TextBox2.Text == "editself")
{
strsql = "update [user] set uname=@p1,password=@p2 ,type=@p3 where uid=" + Session["id"];
}
SqlCommand cmd = new SqlCommand(strsql, cn);
cmd.Parameters.Add("@p1", SqlDbType.VarChar).Value = txtyhm.Text;
cmd.Parameters.Add("@p2", SqlDbType.VarChar).Value = txtxmm.Text;
cmd.Parameters.Add("@p3", SqlDbType.Char).Value = ddlyhlx.SelectedValue;
cmd.CommandText = strsql;
cmd.ExecuteNonQuery();
cn.Close();
Response.Write("<script>alert('操作成功!')</script>");
if (TextBox2.Text == "edit")
{
strsql = "update user set uname=@p1,password=@p2,type=@p3 where uid=" + TextBox1.Text;
}
else if (TextBox2.Text == "add")
{
strsql = "insert into user(uname,password,type) values(@p1,@p2,@p3)";
}
else if (TextBox2.Text == "editself")
{
strsql = "update [user] set uname=@p1,password=@p2 ,type=@p3 where uid=" + Session["id"];
}
SqlCommand cmd = new SqlCommand(strsql, cn);
cmd.Parameters.Add("@p1", SqlDbType.VarChar).Value = txtyhm.Text;
cmd.Parameters.Add("@p2", SqlDbType.VarChar).Value = txtxmm.Text;
cmd.Parameters.Add("@p3", SqlDbType.Char).Value = ddlyhlx.SelectedValue;
cmd.CommandText = strsql;
cmd.ExecuteNonQuery();
cn.Close();
Response.Write("<script>alert('操作成功!')</script>");
看下是不是你没有加异常处理,程序直接终止了
别的页面上类似的语句都能正确的执行,只有这一个,总是不成功
然后直接在查询分析器中运行看看
试一下cmd.Parameters.AddValue("@p1", txtyhm.Text)
在查询分析器中执行这句话时出错
【消息 156,级别 15,状态 1,第 1 行
关键字 'user' 附近有语法错误。】
加上单引号看看
user打上[]
不能使用【user】做表名,查询的时候没有问题,但是更新的时候有错误,改成user1就能正常执行了