asp.net - UPDATE 语句中的语法错误。代码有什么问题?
问题描述
我正在尝试从网络更新我的数据库,但它不起作用,我不知道为什么。它说:“无效的回发或回调参数。使用配置或页面中的 <%@ Page EnableEventValidation="true" %> 启用事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来自最初呈现它们的服务器控件。如果数据有效且符合预期,请使用 ClientScriptManager.RegisterForEventValidation 方法注册回发或回调数据进行验证。我需要做什么?
string MySQL = @"UPDATE users
(email, pname, accountname, pid, age, passw)
Set(@email, @pname,@account,@pid, @age, @passw) where
(id='"+Request.Form["id"]+"')";
string strConnection = "Provider=Microsoft.ACE.OLEDB.12.0;Data
Source=" +
System.Web.HttpContext.Current.Server.MapPath(@"DataBase\Users.accdb");
using(System.Data.OleDb.OleDbConnection con = new
System.Data.OleDb.OleDbConnection(strConnection))
using(System.Data.OleDb.OleDbCommand cmd = new
System.Data.OleDb.OleDbCommand(MySQL, con))
{
con.Open();
cmd.Parameters.Add("@email",
System.Data.OleDb.OleDbType.VarWChar).Value = Request.Form["email"];
cmd.Parameters.Add("@pname",
System.Data.OleDb.OleDbType.VarWChar).Value = Request.Form["pname"];
cmd.Parameters.Add("@account",
System.Data.OleDb.OleDbType.VarWChar).Value = Request.Form["accountname"];
cmd.Parameters.Add("@pid",
System.Data.OleDb.OleDbType.VarWChar).Value = Request.Form["pid"];
cmd.Parameters.Add("@age",
System.Data.OleDb.OleDbType.VarWChar).Value = Request.Form["age"];
cmd.Parameters.Add("@passw",
System.Data.OleDb.OleDbType.VarWChar).Value = Request.Form["passw"];
cmd.ExecuteNonQuery();
con.Close();
}
Response.Redirect("showalldata.aspx");
解决方案
您的UPDATE
语句语法错误。所以它会抛出语法错误。
与其在子句中直接分配Request.Form["id"]
toid
列,不如将其分配给它。因为有可能进行 SQL 注入攻击。WHERE
cmd.Parameters.Add
以下查询将起作用。
string MySQL = @"UPDATE users SET
email = @email,
pname = @pname,
accountname= @account,
pid = @pid,
age = @age,
passw = @passw
where id = @paramid ";
...
...
cmd.Parameters.Add("@paramid",
System.Data.OleDb.OleDbType.VarWChar).Value = Request.Form["id"];
推荐阅读
- react-native - flex 在 react-native 的 ScrollView 中不起作用
- string - 如何在python中找到两个不重叠的字符串
- node.js - 为什么我的命令行在我的 javascript 语言中显示错误
- flutter - 如何在使用地图框的两个位置之间绘制路径?
- python - 部署 django 项目后显示此错误 AttributeError: 'str' object has no attribute 'tzinfo'
- javascript - 从 D3.js 的 JSON 获取数据
- azure-storage - 将 $Logs 容器数据复制到另一个 Blob 位置
- parsing - 得到`PHP解析错误:语法错误,意外':',期待';' 或'{'`
- javascript - 验证以检查用户是否输入了正确的格式
- javascript - 多个 div 网格不响应阅读更多,阅读更少