gpt4 book ai didi

c#插入到mysql多个变量

转载 作者:行者123 更新时间:2023-12-01 00:28:23 25 4
gpt4 key购买 nike

你好这似乎是我的问题我在 mysql 中有一个表,并且在尝试插入时正在制作一个 c# 应用程序,我得到一个你的 SQL 语法有错误;检查与您的 MySQL 服务器版本对应的手册,了解在第 1 行的“OIL COMPANY)”附近使用的正确语法,这是我的 companyVal。它将插入一个值和所有其他值的默认值,但我添加第二个值时出错

        string ConnectionString2 = ConfigurationSettings.AppSettings["ConnectionString2"];
MySqlConnection connection2;
connection2 = new MySqlConnection(ConnectionString2);
connection2.Open();
MySqlCommand command = new MySqlCommand("INSERT INTO spt_proposal (lab_Prop_Id,customer_Name) VALUE (" + a + "," + companyVal + ")", connection2);
command.ExecuteNonQuery();
connection2.Close();

布伦特

最佳答案

不要这样做开始:

// I split the line
MySqlCommand command =
new MySqlCommand("INSERT INTO spt_proposal lab_Prop_Id,customer_Name) "
"VALUE (" + a + "," + companyVal + ")", connection2);

这会打开你 SQL injection attacks ,以及通过混合代码和数据使您的代码更难理解,并导致潜在的转换问题(尤其是日期和时间)。

相反,使用参数化 SQL 语句将值提供给数据库。

虽然您可以只添加引号,但绝对不应该这样做。变量 ab 中的不良数据(无论是否是故意恶意的)都可能是严重的安全风险。千万不要这样做。

需要将 VALUE 更改为 VALUES,但我只会在 移动到参数化 SQL。哦,使用 using 语句自动处理命令和连接,这样在抛出异常时就不会泄漏资源。

关于c#插入到mysql多个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9830355/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com