PDA

View Full Version : سوال: ایراد این قسمت از کدم چیه؟



Masoomeh.H
شنبه 24 مرداد 1394, 22:52 عصر
دوستان من برای اینسرت توی دیتابیس sqlite از کد زیر استفاده کردم

SQLiteCommand cmd1 = new SQLiteCommand("INSERT INTO SerialValue(Serial_No,Serial_Value,Call_Date,Call_ Cost) VALUES(?,?,?,?)", ObjConnection);

int n = Convert.ToInt16(Txt_cardnum.Text);
for(int i=1;i<=n;i++)
{
label1.Text = i.ToString();
cmd1.Parameters.AddWithValue("@Serial_No", label1.Text);
cmd1.Parameters.AddWithValue("@Serial_Value", Txt_cardcost.Text);
cmd1.Parameters.AddWithValue("@Call_Date",MTxt_CardExdate.Text);
cmd1.Parameters.AddWithValue("@Call_Cost", Txt_cardcost.Text);
}
try
{
ObjConnection.Open();
cmd1.ExecuteNonQuery();
ObjConnection.Close();
}
catch
{
MessageBox.Show("An Error Was Occured", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}



ولی برنامه از

cmd1.ExecuteNonQuery();

رد می شه و قسمت catch رو اجرا می کنه. به نظرتون ایراد کار کجاست؟؟؟

aliasghar2
شنبه 24 مرداد 1394, 23:11 عصر
مشکل از اون علامت سوال هاس باید عوضشون کنی و همون اسم هایی که پایین استفاده کردی رو بزاری مثل @Serial_No

البته اون دستور فور هم کارو خراب کرده چون داره N بار پارامتر اضافه میکنه

Masoomeh.H
یک شنبه 25 مرداد 1394, 15:05 عصر
SQLiteCommand cmd1 = new SQLiteCommand("INSERT INTO SerialValue(Serial_No,Value,Expire_Date) VALUES(@Serial_No,@Value,@Expire_Date)", ObjConnection); ObjConnection.Open();
int n = Convert.ToInt16(Txt_cardnum.Text);
for(int i=1;i<=n;i++)
{
label1.Text = i.ToString();
cmd1.Parameters.AddWithValue("@Serial_No", label1.Text);
cmd1.Parameters.AddWithValue("@Value", Txt_cardcost.Text);
cmd1.Parameters.AddWithValue("@Expire_Date", MTxt_CardExdate.Text);
cmd1.Parameters.AddWithValue("@Call_Cost", Txt_cardcost.Text);
cmd1.ExecuteNonQuery();
}
try
{
ObjConnection.Close();
}
catch
{
MessageBox.Show("An Error Was Occured", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}


من اون علامت سئوال ها رو هم عوض کردم ولی درست نشد. من می خوام به ازای یه N که از تکس باکس می گیرم توی دیتا بیسم ردیف اضافه کنم همین لطفا کمک کنید