gpt4 book ai didi

c# - C# 中输入字符串的格式错误

转载 作者:行者123 更新时间:2023-11-29 10:58:47 24 4
gpt4 key购买 nike

我正在尝试将以下详细信息添加到数据库表中。问题。答案和 topicID[int]

C# 代码:

private void AddingQuestions()
{
using (MySqlConnection connection = new MySqlConnection("datasource=localhost;port=3306;database=project;username=root;password=***;"))
{
MySqlCommand cmd = new MySqlCommand("INSERT INTO questions (question, answer, topicID) VALUES (@Questions, @Answers, @TopicID);");
cmd.CommandType = CommandType.Text;
cmd.Connection = connection;
cmd.Parameters.AddWithValue("@Questions", TxtBoxQuestion.Text);
cmd.Parameters.AddWithValue("@Answers", TxtboxAnswer.Text);
cmd.Parameters.AddWithValue("@TopicID", Convert.ToInt32(TxtBoxTopicID.Text));
connection.Open();
cmd.Connection = connection;
cmd.ExecuteNonQuery();
MessageBox.Show("Saved");
connection.Close();
}
}

An unhandled exception of type 'System.FormatException' occurred in mscorlib.dll

Additional information: Input string was not in a correct format.

在线:

cmd.Parameters.AddWithValue("@TopicID", Convert.ToInt32(TxtBoxTopicID.Text));

此外:我知道使用参数化 sql 来避免 sql 注入(inject)是一个很好的做法。我使用的是参数化 SQL 吗?

最佳答案

正如评论中所讨论的,问题是您在打开表单期间尝试转换实际上没有值(它是 null 或空字符串)的 TextBox 的值

可能的解决方案:

  • 在表单启动期间不要调用该方法
  • 使用有效的默认值填充文本框

回答问题的第二部分:是的,您已经在使用参数化查询。

关于c# - C# 中输入字符串的格式错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42598101/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com