سلام مهندس ، من فاکتور فروشم حاوی دو بانک : 1- فاکتور 2- جزییات فاکتور هست . خواستم ببینم چرا دستورdb.save پیغام خطا میده .
من دو بانک رو باید چطور ذخیره کنم . ممنون
private void BtnSave_Click(object sender, EventArgs e)
{
//try
//{
T_Factor Factor = new T_Factor()
{
Factor_Barname = txtbarnameh.Text,
Factor_Cardtext = txtcartex.Text,
Factor_Cost = Convert.ToInt64(txtcostroad.Value),
Factor_CutPrice = Convert.ToInt64(txtcutprice.Value),
Factor_Date = txtdate.Text,
Factor_Des = txtdes.Text,
Factor_FactorNumber = txtfactorcode.Text,
Factor_FactorType = FactorType,
Factor_Id = factorId,
Factor_PersonId = Convert.ToInt32(txtpesonid.Text),
Factor_Price = Convert.ToInt32(txttotalprice.Value),
Factor_Sum = Convert.ToInt64(txtsumfactor.Value)
};
for (int i = 0; i < dgshowproduct.Rows.Count; i++)
{
T_FactorDetail FactorDetail = new T_FactorDetail()
{
FactorDetail_DetailValue = Convert.ToDouble(dgshowproduct.Rows[i].Cells[2].Value),
FactorDetail_FactorId = db.FactorRepository.GetMaxFactorNumber(),
FactorDetail_DriverId = Convert.ToInt32(txtdriverid.Text),
FactorDetail_Id = FactorDetailId,
FactorDetail_InsId = Convert.ToInt32(txtinsid.Text),
FactorDetail_PathId = Convert.ToInt32(txtpathid.Text),
FactorDetail_CostUnit = Convert.ToInt64(dgshowproduct.Rows[i].Cells[3].Value),
FactorDetail_Price = Convert.ToInt64(dgshowproduct.Rows[i].Cells[1].Value) * Convert.ToInt64(dgshowproduct.Rows[i].Cells[2].Value),
FactorDetail_ProductId = Convert.ToInt32(dgshowproduct.Rows[i].Cells[5].Value),
FactorDetail_UnitPrice = Convert.ToInt64(dgshowproduct.Rows[i].Cells[1].Value)
};
db.FactorDetailRepository.InsertFactorDetail(FactorDetail);
db.save();
}
if (factorId == 0) // حالت اضافه هست
{
db.FactorRepository.InsertFactor(Factor);
MessageBoxFarsi.Show("رکورد با موفقیت اضافه گردید .", "پیغام", MessageBoxFarsiButtons.OK, MessageBoxFarsiIcon.Information);
}
else // حالت ویرایش هست
{
Factor.Factor_Id = factorId;
db.FactorRepository.UpdateFactor(Factor);
MessageBoxFarsi.Show("رکورد با موفقیت ویرایش گردید .", "پیغام", MessageBoxFarsiButtons.OK, MessageBoxFarsiIcon.Information);
}
db.save();
DialogResult = DialogResult.OK;
}
سلام
متن خطا ؟
این لینک
https://toplearn.com/questions/4850/%D9%BE%DB%8C%D8%BA%D8%A7%D9%85-%D8%AE%D8%B7%D8%A7
متن خطا کاملا گویاست
کلید اصلی و خارجی را بررسی کنید
احتمالا کلید اصلی خالی است
بله همین درسته مهندس ، اما من قبلش دستور ذخیره رو میدم .
شاید کلید اصلی جدول Auto Increment نیست