c#插入mysql多个变量

bmo*_*982 0 c# mysql

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

        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();
Run Code Online (Sandbox Code Playgroud)

黑雁

Jon*_*eet 5

不要这样做开始:

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

这可以让您了解SQL注入攻击,并通过混合代码和数据使代码更难理解,并导致转换的潜在问题(特别是日期和时间).

而是使用参数化SQL语句将值提供给数据库.

虽然您可以添加引号,但绝对不应该这样做.不良数据(无论是故意恶意还是非恶意数据a,b都可能是一个严重的安全风险.只是不要这样做.

需要更改VALUEVALUES,但我只是转到参数化SQL 后才这样做.哦,并使用using语句自动处理命令和连接,因此如果抛出异常,您不会泄漏资源.