我试图修复它,但它不会接受我尝试插入的三个单词。 它说错误
"初始化字符串的格式不符合规范 从索引 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);
但更重要的是,您应该始终使用参数化查询。这种字符串连接对SQL注入攻击是开放的。
还可以使用 using
语句来释放SqlConnection
和SqlCommand
,而不是手动调用.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();
}
}