1

所以我在将一些数据输入数据库时​​遇到了问题。我真的卡住了,我对 c# 很陌生,还没有学习所有的关键字,我没有收到任何错误,只是我的数据库中没有任何内容。

        textBox2.Text = myPWD;
        MySqlConnection conn = new MySqlConnection("test")

        string Query = "INSERT INTO `users`.`coffekeys` (`koffekeys`) VALUES ('values = @val')";
        MySqlCommand data = new MySqlCommand(Query, conn);
        MySqlDataReader myReader;

            conn.Open();
            SelectCommand.Parameters.AddWithValue("@val", this.textBox2.Text);
            conn.Closed()
4

2 回答 2

2

在传递参数时操作值的串联。不要在 sql 语句中执行此操作。

string Query = "INSERT INTO `users`.`coffekeys` (`koffekeys`) VALUES (@val)";
// other codes
SelectCommand.Parameters.AddWithValue("@val", "values = " + this.textBox2.Text);

参数不起作用的原因是它被单引号包围。参数是标识符而不是字符串文字。

下一个问题是你没有调用ExecuteNonQuery()which 将执行命令。

在关闭连接之前,调用ExecuteNonQuery()

// other codes
data.ExecuteNonQuery();
conn.Close();
于 2013-05-20T09:35:46.560 回答
1

你应该谷歌一下,你会收到很多内容你需要运行 ExecuteNonQuery

SqlConnection con = new SqlConnection(constring);
con.Open();

SqlCommand cmd = new SqlCommand(
    "insert into st (ID,Name) values ('11','seed');", con);

cmd.ExecuteNonQuery();
cmd.Close();
于 2013-05-20T09:36:26.967 回答