PDA

View Full Version : نحوه ذخیره داده های یک لیست باکس در دیتابیس؟



salehvasaleh
سه شنبه 05 مرداد 1389, 20:52 عصر
اگر بخواهیم داده های موجود در یک لیست باکس رو توی دیتابیس ذخیره کنم چیکار باید کنم؟ من دستور زیر رو نشوتم ولی اطلاعات ثبت نشد

cmd.Parameters.AddWithValue("@aks", listBox1.Items);c

باید از چه دستوری استفاده کنم؟ممنون

jalalx
سه شنبه 05 مرداد 1389, 22:58 عصر
هر پارامتر فقط می تواند یک مقدار object را ذخیره کند نه یک مجموعه از آن را!

باید برای هر item در لیست یک مقدار به پایگاه داده بفرستی. کد زیر گویای همه چیز است...



for each object o in listbox1.items
{
cmd = new ...
cmd.Parameters.AddWithValue("@aks", listBox1.Items);c
cmd.execute...
}

salehvasaleh
سه شنبه 05 مرداد 1389, 23:45 عصر
هر پارامتر فقط می تواند یک مقدار object را ذخیره کند نه یک مجموعه از آن را!

باید برای هر item در لیست یک مقدار به پایگاه داده بفرستی. کد زیر گویای همه چیز است...



for each object o in listbox1.items
{
cmd = new ...
cmd.Parameters.AddWithValue("@aks", listBox1.Items);c
cmd.execute...
}

ممنون از توضیحتون. برای اینکه کامل متوجه بشم می شه زیر برنامه رو کامل بنویسید؟

mmd2009
چهارشنبه 06 مرداد 1389, 03:34 صبح
با سلام

دوست عزیز کد زیر رو برات اماده کردم که برای ذخیره ی همه ی ایتم های لیست باکس استفاده میشه



string address_db = @"Provider=Microsoft.Jet.OLEDB.4.0;"+
@"Data Source=C:\dbase.mdb";
OleDbConnection con = new OleDbConnection(address_db);
string q = "insert into t1(name) values(@name)";
OleDbCommand cmd = new OleDbCommand(q, con);
foreach (string c in listBox1.Items)
{
cmd.Parameters.Add(@"name", OleDbType.Char).Value = c;
con.Open();
cmd.ExecuteNonQuery();
con.Close();
cmd.Parameters.Clear();
}

salehvasaleh
چهارشنبه 06 مرداد 1389, 07:38 صبح
با سلام

دوست عزیز کد زیر رو برات اماده کردم که برای ذخیره ی همه ی ایتم های لیست باکس استفاده میشه



string address_db = @"Provider=Microsoft.Jet.OLEDB.4.0;"+
@"Data Source=C:\dbase.mdb";
OleDbConnection con = new OleDbConnection(address_db);
string q = "insert into t1(name) values(@name)";
OleDbCommand cmd = new OleDbCommand(q, con);
foreach (string c in listBox1.Items)
{
cmd.Parameters.Add(@"name", OleDbType.Char).Value = c;
con.Open();
cmd.ExecuteNonQuery();
con.Close();
cmd.Parameters.Clear();
}

این کد لیست باکس رو به چه صورتی در دیتابیس ذخیره می کنه؟

mmd2009
چهارشنبه 06 مرداد 1389, 07:43 صبح
ایتم به ایتم به صورت رشته در بانک ذخیره میکنه.

یعنی اگر 10 ایتم داشته باشیم

بعد از درج 10 رکورد به بانک اضافه میشه.

مگه تو لیست باکس چیزی غیر از رشته دارید ؟