我嘗試此代碼,但無法正常工作(僅插入第一個值添加到數據庫第二個值)。過程或函數插入已指定的參數太多,這是顯示的錯誤過程或函數插入指定的參數太多
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]會很棒 –