• پایان فعالیت بخشهای انجمن: امکان ایجاد موضوع یا نوشته جدید برای عموم کاربران غیرفعال شده است

ارتباط listbox با DB

the wizard

کاربر تازه وارد
تاریخ عضویت
8 آگوست 2009
نوشته‌ها
31
لایک‌ها
0
سلام
میشه بگین چطور می تونم ITEM های رو که تو Listbox هستن با رویداد buton_click تو جدول DB ذخیره کنم؟
هر کدوم از item ها باید توی یک سطر از جدول ذخیره بشن.
 

Alghoochi

Registered User
تاریخ عضویت
13 مارس 2009
نوشته‌ها
121
لایک‌ها
1
سلام
میشه بگین چطور می تونم ITEM های رو که تو Listbox هستن با رویداد buton_click تو جدول DB ذخیره کنم؟
هر کدوم از item ها باید توی یک سطر از جدول ذخیره بشن.

کد:
Dim RowsNo As Integer = ListBox1.Items.Count()
For j = 0 To RowsNo - 1
Dim NewRow As DataRow
NewRow = DataTable.NewRow()
NewRow.Item("Title") = ListBox1.Items(j)
DataTable.Rows.Add(NewRow)

Next
Connection.open()
Dim UpdateCmd As New SqlCommandBuilder(SqlDataAdapter)
SqlDataAdapter.UpdateCommand = UpdateCmd.GetUpdateCommand()
SqlDataAdapter.Update(DataTable)
Connection.Close()

البته من connection , SqlDataAdapter رو قبلا تعریف کردم ولی شما باید حتما تعریف کنید
 

the wizard

کاربر تازه وارد
تاریخ عضویت
8 آگوست 2009
نوشته‌ها
31
لایک‌ها
0
ببخشید من اصلا با زبان vb آشنایی ندارم. اگه می تونین میشه این کدو به زبان #c بنویسین.
بازم ممنون
 

Alghoochi

Registered User
تاریخ عضویت
13 مارس 2009
نوشته‌ها
121
لایک‌ها
1
ببخشید من اصلا با زبان vb آشنایی ندارم. اگه می تونین میشه این کدو به زبان #c بنویسین.
بازم ممنون

کد:
VB:
Dim RowsNo As Integer = ListBox1.Items.Count()
For j = 0 To RowsNo - 1
Dim NewRow As DataRow
NewRow = DataTable.NewRow()
NewRow.Item("Title") = ListBox1.Items(j)
DataTable.Rows.Add(NewRow)

Next
Connection.open()
Dim UpdateCmd As New SqlCommandBuilder(SqlDataAdapter)
SqlDataAdapter.UpdateCommand = UpdateCmd.GetUpdateCommand()
SqlDataAdapter.Update(DataTable)
Connection.Close()
C#:
Int RowsNo = listbox1.items.count();
For (Int j=0; j<RowsNo; j++){
      DataRow NewRow = New System.Data.DataRow;
      NewRow = DataTable.NewRow();
      NewRow.Item("Title") = Listbox1.Items(j);
      DataTable.Rows.Add(NewRow);
} //end of for loop
Connection.open();
SqlCommandBuilder UpdateCmd = New SqlCommandBuilder(SqlDataAdapter);
SqlDataAdapter.UpdateCommand = UpdateCmd.GetUpdateCommand();
SqlDataAdapter.Update(DataTable);
Connection.Close();

یه نکته من همین جوری تو بانک اطلاعاتی فیلدی به اسم Title در نظر گرفتم ولی شما هر فیلدی داری همونو بنویس. و من #C زیاد بلد نیستم ولی چون اصولش مثل ++C اینو برات نوشتم.
اگه جاییش ایراد داشت خودت درستش کن و به بی تجربگی ما تو #C ببخش.
 

the wizard

کاربر تازه وارد
تاریخ عضویت
8 آگوست 2009
نوشته‌ها
31
لایک‌ها
0
این error یعنی چی؟

'System.Web.UI.WebControls.ListItemCollection' does not contain a definition for 'Count' and no extension method 'Count' accepting a first argument of type 'System.Web.UI.WebControls.ListItemCollection' could be found (are you missing a using directive or an assembly reference?)
 

Alghoochi

Registered User
تاریخ عضویت
13 مارس 2009
نوشته‌ها
121
لایک‌ها
1
نمی دونم.
listbox ها از نوع system.web.ui.webcontrols.listbox هستند نه listitemcollection
من بخش listbox1.items.count رو تست کردم ایرادی نداشت.
البته این مقدار که توسط این تابع برگردانده می شه تعداد عناصر یا همون اعضاء لیسته و چون دستور listbox.items(j)//d ، items به عنوان آرایه در نظر گرفته می شه باید یکی ازش کم کنی چون آرایه ها از صفر شروع می شن
 

the wizard

کاربر تازه وارد
تاریخ عضویت
8 آگوست 2009
نوشته‌ها
31
لایک‌ها
0
واسه من تنها error نمی ده . کسی دیگه هم که امتحان کرد همین پیغامو داد. حتما شما از یک using خاص استفاده کردی.:(
 

Alghoochi

Registered User
تاریخ عضویت
13 مارس 2009
نوشته‌ها
121
لایک‌ها
1
دوست عزیز اگه میشه قسمتی از کدی که استفاده می کنی را اینجا بزار ببینیم ایراد از کجاست.
 
بالا