我想將以下詳細信息添加到數據庫表中。這個問題。答案和topicID [INT]輸入字符串在C#中沒有正確的格式錯誤[OffTopic]
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();
}
}
類型 'System.FormatException' 的未處理的異常出現在mscorlib.dll
其他信息:輸入字符串的不以正確的格式。
在該行:
cmd.Parameters.AddWithValue("@TopicID", Convert.ToInt32(TxtBoxTopicID.Text));
而且我知道它的好習慣使用parametrised SQL,避免SQL注入。我使用參數化的SQL?
確保'TxtBoxTopicID'中的文本是一個有效整數 –
在顯示錶單之前,我得到此異常。即當我點擊指向我這個頁面的按鈕時。即使在文本框中添加任何整數值,也會拋出異常。 – SnapShot
如果您還沒有輸入任何內容,則TextBox的值爲空或空字符串,該字符串不能轉換爲int。您應該在打開表格時不要調用方法,或者用有效的默認值填充文本框 –