Я пытаюсь выполнить этот код, но не работает должным образом (только первое значение добавляет к базе данных второе значение не вставлено). Процедура или функция вставки указал слишком много аргументов, это отображается ошибкаПроцедура или функция Вставка содержит слишком много аргументов
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
a [mcve] был бы замечательным –