c# - UPDATE 语句 SQL 更新 MS Access 数据库 C# 中的语法错误

标签 c# sql database

<分区>

谁能找出这条语句中的语法错误。它正在通过 C# 更新 Visual Studio 项目中的 MS ACCESS 数据库。

string sql = "UPDATE Contacts SET Environment=\"" + Environment + "\", Group=\"" + Group + "\", Platform=\"" + Platform + "\", Language=\"" + Language + "\", URL=\"" + URL + "\", Usernamex=\"" + Usernamex + "\", Passwordx=\"" + Passwordx + "\", Contact_Name=\"" + Contact_Name + "\", Email=\"" + Email + "\" + WHERE ID=" + ID;

我确定我只是没有正确地转义。

任何帮助将不胜感激

最佳答案

string sql = 

"UPDATE Contacts SET Environment= @Environment, Group=@Group, Platform=@Platform, Language=@Language, URL=@URL, Usernamex=@Usernamex, Passwordx=@Passwordx, Contact_Name=@Contact_Name, Email=@Email WHERE ID=@ID";

之后使用

Command.Parameters.AddWithValue("@ID", ID); 

对于其他参数,您将需要相同的代码行,但不是@ID->@Group 等......

在这种情况下,CommandText 将更易于调试,您将免受 sql 注入(inject)攻击!

关于c# - UPDATE 语句 SQL 更新 MS Access 数据库 C# 中的语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25924177/

相关文章:

sql - 如何像Excel的pivot函数一样转置sql结果?

database - 如何为单个主键插入多行?

java - MySql 查询抛出错误

sql - 获取 MySql 中重复行的列表

java - spring-boot:我可以修复 spring-boot 2 中的下一个错误吗?

php - 我如何从两个表中有一个公共(public)列的多个列中选择数据?

c# - 获取 WinNT 组的成员列表

c# - 这个 IClonable 实现有什么问题吗

c# - 这个 VBScript 函数在做什么

c# - 如何知道何时为表单显示消息框?