Я использую текстовое поле для вставки данных в базу данных. Однако я не хочу вставлять нулевое или пустое значение в базу данных. Как я могу использовать оператор if, чтобы проверить, что текстовое поле пусто? (что означает, что если текстовое поле пусто, покажите диалоговое окно с требуемыми входными данными пользователя)
Вот мой код:
private void submit_button_Click(object sender, EventArgs e)
{
string constring = "datasource=localhost;username=root;password=";
string Query = "INSERT INTO bug.bug (Bug_ID, title, Type_of_bug, software, software_version, description, step_to_reproduction, severity, priority, symptom) values('" + this.bugid_txt.Text+"', '" + this.title_txt.Text + "','" + this.comboBox1.Text + "','" + this.software_txt.Text + "','" + this.software_version_txt.Text + "','" + this.description_txt.Text + "','" + this.step_to_reproduction_txt.Text + "','" + this.severity_combo.Text + "','" + this.priority_combo.Text + "','" + this.symptom_txt.Text + "')";
MySqlConnection conDataBase = new MySqlConnection(constring);
MySqlCommand cmdDataBase = new MySqlCommand(Query, conDataBase);
MySqlDataReader myReader;
try
{
conDataBase.Open();
myReader = cmdDataBase.ExecuteReader();
MessageBox.Show("The Bug have been reported");
while(myReader.Read())
{
}
this.Close();
}catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
if(yourTextBox.Text != string.Empty)
? Но что более важно, вы всегда должны использовать параметризованные запросы< /а>. Такого рода конкатенации строк открыты для атак SQL Injection. Также используйте операторusing
для автоматического удаления соединения и команды вместо вызова методаClose
вручную. - person Soner Gönül   schedule 06.01.2016ExecuteNonQuery
вместоExecuteReader
для выполнения оператораINSERT
. - person Soner Gönül   schedule 06.01.2016