이 코드를 시도했지만 제대로 작동하지 않습니다 (첫 번째 값에 데이터베이스에 두 번째 값 추가가 삽입되지 않음). 프로 시저 또는 함수를 삽입 너무 많은 인수가 지정한이 표시된 오류 매개 변수를 저장 프로 시저 Sp_Sale_Dtl_Insert 필요하며, 매개 변수의 수의 수에 전달되는프로 시저 또는 함수 삽입에 지정된 인수가 너무 많습니다.
foreach (DataGridViewRow row in dgItems.Rows)
{
for (int i = 0; i < dgItems.Rows.Count; i++)
{
DataGridViewCellCollection c = dgItems.Rows[i].Cells;
//dtl.DOC_TYPE = type;
info1.DOC_NO = DOC_NO.Text;
info1.ITEM_CODE = c["cCode"].Value.ToString();
info1.ITEM_DESC_ENG = c["cName"].Value.ToString();
info1.UOM = c["cUnit"].Value.ToString();
info1.PRICE = Convert.ToDecimal(c["cPrice"].Value.ToString());
info1.QUANTITY = Convert.ToInt32(c["cQty"].Value.ToString());
info1.ITEM_DISCOUNT = Convert.ToDecimal(c["cDisc"].Value.ToString());
info1.DISC_TYPE = c["DiscTypes"].Value.ToString();
info1.DISC_VALUE = c["DiscValues"].Value.ToString();
info1.SERIALNO = c["SerialNos"].Value.ToString();
info1.BRANCH = lg.Branch;
if (hasTax)
{
info1.ITEM_TAX_PER = Convert.ToDecimal(c["cTaxPer"].Value.ToString());
info1.ITEM_TAX = Convert.ToDecimal(c["cTaxAmt"].Value.ToString());
}
if (hasBatch)
{
info1.BATCH = c["cBatch"].Value.ToString();
info1.EXPIRY_DATE = DateTime.ParseExact(c["cExpDate"].Value.ToString(), "dd/MM/yyyy", null).ToString("MM/dd/yyyy");
}
//cmd.CommandText += " UNION ALL ";
dtl.Insertdtl_Meth(info1);
}
}
문제는 아마도 'Insertdtl_Meth' 메소드에 있습니다. 각 통화마다 매개 변수를 재설정 하시겠습니까? – Crowcoder
'info1'은 어디에서 초기화합니까? 이 샘플은 완전하지 않습니다. – user3185569
[mcve]가 좋을 것입니다 –