我在WinForms中有这样的组合框:
我有这样的增值。。。
在所选值上,我想在MySQL中插入一个bool值(yes
表示true
-no
false
)
问题:
根据组合框的选定值插入布尔值的正确方法是什么?
当前代码
public void UpdateData()
{
try
{
using (var conn = new MySqlConnection(ConnectionString.ConnString))
{
string updateQuery = "INSERT INTO customer_complaints_actions " +
"(complaint_id,value " +
"VALUES " +
"(@complaint_id, @value)";
using(var connect = new MySqlConnection(ConnectionString.ConnString))
{
using(var cmd = new MySqlCommand(updateQuery, connect))
{
connect.Open();
cmd.Parameters.AddWithValue("@complaint_id", Convert.ToInt32(ComplaintsDataGrid.SelectedRows[0].Cells[0].Value.ToString()));
cmd.Parameters.AddWithValue("@value", value.SelectedItem); // Need to alter
cmd.ExecuteNonQuery();
}
}
}
}
catch(Exception ex)
{
MessageBox.Show($"Error: {ex.ToString()}", "Failed", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
您可以在将数据添加到查询时放置一个条件表达式:
cmd.Parameters.AddWithValue("@value", value.SelectedItem == "Yes");
可以在insert
语句中放置条件表达式:
INSERT INTO customer_complaints_actions (complaint_id,value)
VALUES (@complaint_id, @value = 'Yes')
在MySLQ中,条件@value='yes'
的计算结果为1
,如果条件为true,则为0
。