ExecuteReader: свойство подключения не было инициализировано в c# - PullRequest
0 голосов
/ 26 марта 2020

когда я нажимаю кнопку сохранения, появляется сообщение об ошибке «ExecuteReader: свойство подключения не было инициализировано», пожалуйста, помогите мне решить эту проблему, я буду благодарен, спасибо

private void btnSave_Click (отправитель объекта, EventArgs e) {try {if (MessageBox.Show («Вы уверены, что хотите сохранить этот продукт?», «», MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) {

                string bid = " ";
                string cid=" ";
                cn.Open();
                cm = new SqlCommand("select id from tblBrand where brand like '"+ cboBrand .Text +"'");
                dr = cm.ExecuteReader();
                dr.Read();
                if (dr.HasRows) {bid = dr[0].ToString(); }

                dr.Close();
                cn.Close();

                cn.Open();
                cm = new SqlCommand("select id from tblCategory where category like '" + cboCategory.Text + "'");
                dr = cm.ExecuteReader();
                dr.Read();
                if (dr.HasRows) { cid = dr[0].ToString(); }


                dr.Close();
                cn.Close();


                cn.Open();
                cm = new SqlCommand("INSERT INTO tblProduct (pcode,desc,bid,cid,price) VALUES(@pcode,@desc,@bid,@cid,@price)", cn);
                cm.Parameters.AddWithValue("@pcode", txtpcode .Text);
                cm.Parameters.AddWithValue("@desc", txtdesc.Text);
                cm.Parameters.AddWithValue("@bid", bid );
                cm.Parameters.AddWithValue("@cid", cid );
                cm.Parameters.AddWithValue("@price", txtprice .Text);
                cm.ExecuteNonQuery();
                cn.Close();
                MessageBox.Show("Product has been successfully saved.", "POS", MessageBoxButtons.OK, MessageBoxIcon.Information);
                clear();
                flist.LoadRecords();
            }

        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }
...