我想使用参数化插入到SQL查询中。我已经使用这个代码,但是我得到一个 '致命' 的错误:INSERT INTO MySQL语句错误C#
An unhandled exception of type 'MySql.Data.MySqlClient.MySqlException' occurred in MySql.Data.dll
Additional information: Fatal error encountered during command execution.
C#代码:
using(MySqlConnection connection = new MySqlConnection("datasource=localhost;port=3306;database=project;username=root;password=***;"))
{
MySqlCommand cmd = new MySqlCommand("INSERT INTO test_results (test_results) VALUES (@testResults);");
cmd.CommandType = CommandType.Text;
cmd.Connection = connection;
cmd.Parameters.AddWithValue("@test_results", correctAnswers);
connection.Open();
cmd.ExecuteNonQuery();
cmd.Connection = connection;
}
线:
cmd.ExecuteNonQuery();
我想补充的问题的数量(correctAnswers)用户正确进入“test_results”字段
编辑:
int topicID = dataGridViewRow.Cells["topicID"].Value.ToString();
cannot implicitly convert type string to int
我知道为什么我收到这个,但我不知道我应该做的。
我填充时,怀疑你会发现有更多的信息,在异常,如果你仔细看,我怀疑这是因为你叫语句中的参数'@ testResults'和'@ test_results' 。 –
所以我应该如何修改我的代码来解决这个问题? – CsharpStudent
恩,使用一致的名字?仔细阅读我的评论,仔细阅读您的代码,并仔细考虑参数化SQL的工作原理。如果您的SQL中的名称与您的'Parameters'集合中的参数名称不匹配,您如何期待它的工作? –