この場合、在庫カテゴリの値を返すクエリがあります。ユーザーが特定のボックス番号を入力すると、それがフォームで有効になる他のものである場合、フォームは無効になります。問題は、ExecuteScalar を使用し、その値を文字列 "AP" と比較する必要があることです。私はC#にかなり慣れていないので、これを行う方法がわかりません。これまでの私のコードは次のとおりです。
private void hide_apple_controls()
{
SqlCommand cmd = new SqlCommand();
Object invCat;
cmd.CommandText = "SELECT itm.inv_cat FROM " +
"t_item_master itm " +
"LEFT OUTER JOIN t_box box (NOLOCK) ON box.product_code LIKE itm.item_number " +
"where box.box_id = @box_id ";
cmd.Parameters.Add("@box_id", SqlDbType.VarChar).Value = boxBox.Text;
cmd.CommandType = CommandType.Text;
cmd.Connection = this.sqlConnection1;
this.sqlConnection1.Open();
SqlDataAdapter adpt = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
adpt.Fill(ds);
invCat = cmd.ExecuteScalar();
this.sqlConnection1.Close();
string ap = "AP";
if (invCat == ap )
{
disable_qc_form();
}
enable_qc_form();
}