0
私は、ユーザーの入力に基づいてバーコードイメージを生成するWebアプリケーションを用意しています。 ユーザーはデータベースに格納されている値を選択し、データバインドされたチェックボックスに表示されます。私の手続きは、ユーザ入力値をデータベースに問題なく挿入しますが、データベースに新しいデータを作成します。私が把握しようとしているのは、ストアドプロシージャにあるのか、自分のコードにあるのかにかかわらず、Where節を決める方法です。どこのデータバインドチェックボックスを選択しても、データベースの特定の行が新しい行。気になるのは、チェックボックスのリストではなく、チェックボックスの1つだけです。チェックボックスを使用してデータベースの特定の行を更新するチェック値
protected void gen_barcode(object sender, EventArgs e)
{
int n;
int i = Int32.Parse(amount.Text);
string date_picker = datepicker.Text;
SqlConnection conn = new SqlConnection(GetConnectionString());
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "barcode_insert"
cmd.Parameters.AddWithValue("@Amount", amount.Text);
cmd.Parameters.AddWithValue("@Date", datepicker);
if (CheckBox_Code.Checked)
{
//generate image code
}
cmd.Connection.Open();
cmd.ExecuteNonQuery();
conn.Close();
}
チェックボックスをバインド
public void CheckBoxBind()
{
SqlConnection conn = new SqlConnection(GetConnection());
using (SqlCommand cmd = new SqlCommand())
{
cmd.CommandText = "Select CheckBoxCode FROM CodeTable Where CheckBoxCode LIKE 'EX'"
cmd.Connection = conn;
conn.Open();
using (SqlDataReader rdr = cmd. ExecuteReader())
{
while (rdr.Read()
{
CheckBox_Code.Text = rdr["CheckBoxCode"].ToString()
cmd.Parameters.AddWithValue("@CheckBoxCode", CheckBox_Code)
}
}
conn.Close();
}
}
実は、私の最初のコードが間違っていました実際にはCheckBoxCode LIKE 'EX'のようになっているので、もちろんそれを使って宣言エラーが発生します。私はそれを反映するようにコードを編集します。 – walangala