-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 に答える