-1

我有一个小的 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

4

2 回答 2

2

错误的代码。使用参数。

例子:

cmd.CommandText = "INSERT INTO myTable VALUES(NULL, @number, @text)";
cmd.Parameters.AddWithValue("@number", 1);
cmd.Parameters.AddWithValue("@text", "One");
于 2013-05-16T02:22:41.307 回答
0

你可以试试(CheckBox.Checked).ToString()。这将返回真/假,具体取决于它是否被选中。

于 2013-05-16T00:47:31.957 回答