[英]error 42601 syntax error at or near
我正在使用ac#应用程序加载带有适当数据的postgresql表。 这是代码:
NpgsqlConnection conn = new NpgsqlConnection("Server=localhost;Port=5432;UserId=postgres;Password=***** ;Database=postgres;");
NpgsqlCommand command = new NpgsqlCommand();
command.Connection = conn;
conn.Open();
try {
command.CommandText = "insert into projets (ID, Title, Path, Description, DateCreated) values('" + pro.ID + "','" + pro.Title + "','" + pro.Path + "', '' ,'" + pro.DateCreated + "')";
command.ExecuteNonQuery();
} catch {
throw;
}
conn.Close();
但是,在执行代码时,我不断收到相同的错误:
error 42601 syntax error at or near...
我没有找到如何逃避叛教者。
尝试使用参数化查询编写命令
command.CommandText = "insert into projets (ID, Title, Path, Description, DateCreated) " +
"values(@id, @title, @path, '', @dt);";
command.Parameters.AddWithValue("@id", pro.ID);
command.Parameters.AddWithValue("@title", pro.Title);
command.Parameters.AddWithValue("@path", pro.PAth)
command.Parameters.AddWithValue("@dt", pro.DateCreated);
command.ExecuteNonQuery();
这样,如果您的一个字符串值包含单引号,您可以让作业正确地将您的值解析为框架代码,从而避免Sql注入问题
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.