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



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

"初始化字符串的格式不符合规范 从索引 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 语句来释放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();
     }
}

相关内容

  • 没有找到相关文章