我有一个小的WPF应用程序,但不起作用。它连接到mysql数据库。我想要做的是能够检查我的wpf中的几个选项(使用复选框),并将选中的选项存储在我的数据库中。
这是我的sql代码:
create table ejemploc
(
id int not null,
nombre varchar(35),
opcion1 boolean,
opcion2 boolean,
opcion3 boolean,
constraint pkid primary key (id)
)engine=innodb;
我的c#代码:
conexion.Open();
try
{
//I don't know what to put here
cmd.CommandText = "insert into ejemploc values ('"+textBox1.Text+"', '"+textBox2.Text+"', '"++"', '"++"', '"++"')";
cmd.ExecuteNonQuery();
cmd.Clone();
MessageBox.Show("Datos Guardados", "Mensaje");
conexion.Close();
CargaDataGridView();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
}
非常感谢您的回答!
修改
答案是改变两个代码:
create table ejemploc
(
id int not null,
nombre varchar(35),
opcion1 varchar(5),
opcion2 varchar(5),
opcion3 varchar(5),
constraint pkid primary key (id)
)engine=innodb;
它从布尔值变为varchar(5)
我的c#代码改为:
"insert into ejemploc values ('" + textBox1.Text + "', '" + textBox2.Text + "', '" + checkBox1.Checked.ToString() + "', '" + checkBox2.Checked.ToString() + "', '" + checkBox3.Checked.ToString() + "')";
感谢@Thomas Fanley为你的回复:D
答案 0 :(得分:2)
错误的代码。使用参数。
示例:
cmd.CommandText = "INSERT INTO myTable VALUES(NULL, @number, @text)";
cmd.Parameters.AddWithValue("@number", 1);
cmd.Parameters.AddWithValue("@text", "One");
答案 1 :(得分:0)
您可以尝试(CheckBox.Checked).ToString()
。这将返回true / false,具体取决于是否选中它。