数据不会被插入数据库,heidisql

Data wont get inserted into database, heisql

我想在我的数据库 (heidisql) 中插入一些数据。 但它不会被插入。知道为什么吗?

在我的table中loginnameemailalgovarcharhash saltchar。 stretch 的数据类型为 int

MySqlCommand cmd2;

cmd2 = dbConStr.CreateCommand();
cmd2.CommandText = "INSERT INTO `user` (Loginname, Email, Algo, Stretch, `Hash`, Salt) VALUES ('@loginname', '@email', '@algo', '@stretch','@hash', '@salt');";

cmd2.Parameters.Add("@loginname", MySqlDbType.VarChar).Value = loginname;
cmd2.Parameters.Add("@email", MySqlDbType.VarChar).Value = email;
cmd2.Parameters.Add("@algo", MySqlDbType.VarChar).Value = algo;
cmd2.Parameters.Add("@stretch", MySqlDbType.VarChar).Value = Convert.ToInt32(stretch);
cmd2.Parameters.Add("@hash", MySqlDbType.VarChar).Value = hash;
cmd2.Parameters.Add("@salt", MySqlDbType.VarChar).Value = salt;

MySqlDataReader r2 = cmd.ExecuteReader();

while (r2.Read())
{ }

r2.Close();

在 ExecuteReader 旁边,应该是 ExecuteNonQuery(),您声明的插入参数错误,不应该用单引号引起来。尝试:

INSERT INTO `user` (Loginname, Email, Algo, Stretch, `Hash`, Salt) VALUES (@loginname, @email, @algo, @stretch, @hash, @salt)

顺便说一句,有些数据库有不同的参数分隔符,不确定在 heidisql 中是否是 '@'