ذخیره ی ایتمهای listbox در پایگاه داده
سلام دوستان:
من می خوام که تمامی آیتمهای یک لیستباکس رو وارد پایگاه داده کنم اما نمی دونم که چرا فقط آیتم اولی وارد می شه و زمانی که می خواد دومی رو وارد کنه دوباره اولی رو وارد می کنه که با خطای ایتم تکراری رو به رو می شه.
من از کد زیر استفاده می کنم. خوشحال می شم اگه منو برای رفع این مشکل راهنمایی کنید.
try
{
SqlCommand cmd = new SqlCommand("insert into vocab(vocab)values(@vocab)", connection);
connection.Open();
for(int i=0; i<lstvocab.Items.Count; i++)
{
cmd.Parameters.AddWithValue("@vocab", lstvocab.Items[i].ToString());
cmd.ExecuteNonQuery();
MessageBox.Show("Done");
}
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
connection.Close();
}
نقل قول: ذخیره ی ایتمهای لیستباکس در پایگاه داده
با سلام
لطفاً از تگ C# برای قرار دادن کدهاتون استفاده کنید
باید به ازای هر ثبت در دیتابیس کانکشن باز و بسته شود
از کد زیر استفاده کنید:
SqlConnection con = new SqlConnection(@"Data Source=.\SqlExpress;Initial Catalog=dbTest;Integrated Security=true;");
public void add(string Item)
{
SqlCommand cmd = new SqlCommand();
con.Open();
cmd.Connection = con;
cmd.CommandText = @"INSERT INTO Persons (FirstName ) VALUES (@FirstName)";
cmd.Parameters.AddWithValue("@FirstName", Item);
cmd.ExecuteNonQuery();
con.Close();
}
private void AddNew_Click(object sender, EventArgs e)
{
for (int i = 0; i < lstvocab.Items.Count; i++)
{
add(lstvocab.Items[i].ToString());
}
}
طبق پروژه خودتون شخصی سازیش کنید
موفق باشید
نقل قول: ذخیره ی ایتمهای listbox در پایگاه داده
علتش این هست که در تکرار دوم حلقه ، پارامتر تکراری میشه و نمیتونه پارامتری با همون نام ایجاد کند. در حلقه چک کنید اگر پارامتر از قبل موجود نبود پارامتر را ایجاد کنید و بعد مقداردهی کنید.