PDA

View Full Version : سوال: دریافت اطلاعات combobox از بانک



saber187518
سه شنبه 05 آبان 1388, 09:55 صبح
با سلام خدمت دوستان عزیز.
من می خوام توی برنامه دو تا combobox داشته باشم که با انتخاب کردن یکی از گزینه های combobox اول اطلاعات combobox دوم با توجه به اولی باید تغییر کنه. مثلا اولی نام استان باشه و دومی با توجه به استان مورد نظر شهرستانها رو از بنک بخونه. توی بانک من فقط یک جدول دارم که اطلاعات توی اون دخیره شده. حالا چکار کنم؟
لطف کنید با نمونه کد کمکم کنین. خیییییییییییییییییییلی ممنون.:بوس:

saber187518
سه شنبه 05 آبان 1388, 12:12 عصر
تورو خدا به کمک نیاز دارم. کمکم کنین. :اشتباه:

viper2009
سه شنبه 05 آبان 1388, 12:37 عصر
سلام

combobox رو به بانک وصل کن
اینجوری

Combobox1.datasource = ds
Combobox1.DisplayMember = "NameTable"

viper2009
سه شنبه 05 آبان 1388, 12:46 عصر
این هم ضمیمه


http://barnamenevis.org/forum/showthread.php?t=183118

saber187518
سه شنبه 05 آبان 1388, 14:54 عصر
با تشکر فراوان از viper2009 عزیز که ما رو قابل جواب دونست.
امتحان کردم ولی نشد. ببین دوست گرامی اطلاعات در حین اجرای برنامه توی combobox دومی تغییر می کنه. و هر بار باید از اطلاعات بانک ذوباره بخونه. من کدی رو که نوشتم برات می ذارم. اما این کد فقط بار اول جواب می ده. بار دوم همون اطلاعات اولی رو نشون میده.

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
Dim dev As String
dev = ComboBox1.SelectedValue
SqlDataAdapter12.DeleteCommand.Parameters.Clear()
SqlDataAdapter12.DeleteCommand.CommandText = "delete from temp_1"
SqlConnection1.Open()
SqlDataAdapter12.DeleteCommand.ExecuteNonQuery()
SqlConnection1.Close()
'*************************************************
SqlDataAdapter13.InsertCommand.Parameters.Clear()
SqlDataAdapter13.InsertCommand.Parameters.AddWithV alue("@p0", dev) '©§یه
SqlDataAdapter13.InsertCommand.CommandText = "INSERT INTO temp_1 (ëںê,ëيم,¬©ک¢,¬êں©ى_«©یںé,ê§ é) SELECT * FROM device WHERE ¬©ک¢ = @p0 "
SqlConnection1.Open()
SqlDataAdapter13.InsertCommand.ExecuteNonQuery()
SqlConnection1.Close()
ComboBox2.Update()
End Sub

sheervin
سه شنبه 05 آبان 1388, 16:01 عصر
دقیقا بگو میخوای چه کار کنی؟

saber187518
سه شنبه 05 آبان 1388, 16:10 عصر
ببینید دوستان من توی جدول device یک سری اطلاعات در مورد محصولات شرکت های مختلف دارم. که می خوام با توجه به نام شرکت انتخاب شده در جدول temp_1 اطلاعات مربوطه کپی بشن. بعد اطلاعات کپی شده در جدول temp_1 رو در combobox دوم نشون بده.

Hossis
سه شنبه 05 آبان 1388, 16:15 عصر
ببین آقا صابر! این ایده شما پیاده نمیشه مگر با استفاده از دو جدول آنهم رابطه ای ! در این صورت می توان با تغییر اطلاعات کومبو اول که مربوط به یک جدول است ،‌موارد مرتبط با آن را در کومبوی 2 نمایش داد.

Hossis
سه شنبه 05 آبان 1388, 16:19 عصر
البته با یک جدول هم ممکن است به این نحو که پس از انتخاب یک عضو در کومبوی 1،‌ تمام رکوردها با استفاده از حلقه For بررسی شوند و هرکدام که فیلد "نام شرکت" مساوی با متن کومبو بود،‌ فیلد "محصول " به کومبوی 2 اضافه شود.
به همین سادگی

saber187518
سه شنبه 05 آبان 1388, 16:49 عصر
خیلی ممنون از راهنماییتون کارم راه افتاد. بسیار بسیار ممنون. ایده من مشکل داشت.

maXXis
دوشنبه 11 آبان 1388, 18:37 عصر
Private Sub Add_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Strsql = "SELECT Product FROM Product GROUP BY Product"
Da = New SqlDataAdapter(Strsql, myConnection)
ds = New DataSet
myConnection.Open()
Da.Fill(ds, "Product")
myConnection.Close()
Me.ComboBox6.DataSource = ds.Tables("Product")
Me.ComboBox6.DisplayMember = "Product"
Me.ComboBox6.ValueMember = "Product"
End Sub


Private Sub ComboBox2_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox2.SelectedIndexChanged

Dim Strsql As String
Dim Da As New SqlDataAdapter
Dim ds As New DataSet
Strsql = "Select Mark From Product Where ( Product = '" & ComboBox2.Text & "' );"
Da = New SqlDataAdapter(Strsql, myConnection)
ds = New DataSet
myConnection.Open()
Da.Fill(ds, "Mark")
myConnection.Close()
Me.ComboBox7.DataSource = ds.Tables("Mark")
Me.ComboBox7.DisplayMember = "Mark"
Me.ComboBox7.ValueMember = "Mark"
End Sub


Product هم اسم یک فیلده و هم اسم جدول.
واسه من کار میکنه.

ایده ات هم هیچ اشکالی داره گلم.