gpt4 book ai didi

c# - 插入数据库按钮代码不起作用不确定如何修复它

转载 作者:太空宇宙 更新时间:2023-11-03 12:00:02 25 4
gpt4 key购买 nike

我试图修复它,但它不会接受我尝试插入的三个词。它说错误

"Format of the initialization string does not conform to specification starting at index 0."

这是按钮代码

    private void button5_Click(object sender, RoutedEventArgs e)
{
SqlConnection con = new SqlConnection("ConnectionOne");
con.Open();
MySqlCommand cmd = new MySqlCommand("INSERT INTO test.lifestyle(animal_food,animal_hobbies,animal_sport) values('" + this.food_txt.Text + "','" + this.hobby_txt.Text + "','" + sport_txt.Text + "');");
cmd.ExecuteNonQuery();
con.Close();


}

ConnectionOne 是我与数据库建立的连接的名称

最佳答案

我强烈怀疑您有一个名为 ConnectionOne 的变量,这会保存您的字符串。

在这种情况下,您需要将其用作;

SqlConnection con = new SqlConnection(ConnectionOne);

但更重要的是,您应该始终使用 paramterized queries .这种字符串连接对于 SQL Injection 是开放的攻击。

也可以使用 using statement处理您的 SqlConnectionSqlCommand 而不是手动调用 .Close() 方法。

private void button5_Click(object sender, RoutedEventArgs e)
{
using(var con = new SqlConnection(ConnectionOne))
using(var cmd = con.CreateCommand())
{
cmd.CommandText = @"INSERT INTO test.lifestyle(animal_food,animal_hobbies,animal_sport)
values(@food, @hobbies, @sport)";
cmd.Parameters.AddWithValue("@food", this.food_txt.Text);
cmd.Parameters.AddWithValue("@hobbies", this.hobby_txt.Text);
cmd.Parameters.AddWithValue("@sport", sport_txt.Text);
con.Open();
cmd.ExecuteNonQuery();
}
}

关于c# - 插入数据库按钮代码不起作用不确定如何修复它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29879166/

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