일부 열을 편집 할 수있는 DataGridview가 있습니다. Datagrid는 자동으로 하단에 새로운 행을 추가합니다. 버튼 클릭시 데이터베이스에 그리드의 내용을 삽입하고 싶습니다. 그러나 각 루프에 대한 삽입 쿼리를 작성할 때 botton의 커밋되지 않은 행 때문에 예외가 throw됩니다. 예외 : 객체 참조가 객체의 인스턴스로 설정되지 않았습니다. 날이 문제를 해결 도와주세요 .. 코드는 여기DataGridview에 추가 된 비공 인 행의 예외
private void btn_save_Click(object sender, EventArgs e)
{
try
{
con.Open();
cmd = new SqlCommand("Select SupplierId from tbl_Supplier where SupplierName ='" + cmbSupplierName.Text + "'", con);
sdr = cmd.ExecuteReader();
if (sdr.HasRows)
{
while (sdr.Read())
{
string sup_id = sdr["SupplierId"].ToString();
//txt_id.Text = sup_id;
}
}
foreach (DataGridViewRow row in grdPurchase.Rows)
{
string material_id = row.Cells[2].Value.ToString();
int m_id = int.Parse(material_id);
string Quantity = row.Cells[3].Value.ToString();
float m_quantity = float.Parse(Quantity);
string rate = row.Cells[4].Value.ToString();
float m_rate = float.Parse(rate);
string total = row.Cells[5].Value.ToString();
float m_total = float.Parse(total);
//string bill = txt_billno.Text;
int supplier_id = int.Parse(sup_id);
//string date = dtp_Purchase.Text;
// dt.Rows.Add(supplier_id, bill, m_id, m_quantity, m_rate, m_total, date);
String query = "insert into tbl_Purchase (SupplierId,MaterialId,BillNo,Quantity,Rate,Total,Date) values(" + supplier_id + "," + m_id + ",'" + txt_billno.Text + "'," + m_quantity + "," + m_rate + "," + m_total + ",'" + dtp_Purchase.Text + "')";
cmd = new SqlCommand(query, con);
cmd.ExecuteNonQuery();
//object id = cmd.ExecuteScalar();
// string purchase_id = id.ToString();
MessageBox.Show("Inserted: ");
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
finally
{
sdr.Close();
con.Close();
}
}
당신이 무엇을하고 있는지 보여, 당신은 그 일을하는 방법, 당신은 우리에게 불가능한 질문을한다. – Arran
코드의 관련 부분을 표시하십시오 ... – walther