PDA

View Full Version : حرفه ای: کار با آرایه ها



elham.saedi2014
یک شنبه 28 خرداد 1396, 20:23 عصر
سلام

من یه combo box دارم که نام کالا رو از دیتابیس میگیره و لیست میکنه این هم کدش :

ComboBox2.Items.Clear()

If Connection.State = ConnectionState.Closed Then Connection.Open()
ad = New SqlDataAdapter("Select name From tblkala", Connection)


ds = New DataSet
ad.Fill(ds)


For i As Integer = 0 To ds.Tables(0).Rows.Count - 1
Application.DoEvents()
ComboBox2.Items.Add(ds.Tables(0).Rows(i)(1))
Next i
ComboBox2.DataSource = ds.Tables("tblkala")
Connection.Close()

حالا میخوام آیدی کالای انتخاب شده از combo box رو توی یه label نمایش بدم

لطفا راهنمایی بفرمایید باید چیکار کنم ؟
باتشکر

elham.saedi2014
دوشنبه 29 خرداد 1396, 10:06 صبح
ممنون میشم استاتید سایت کمک کنند

خیلی عججله دارم

باتشکر

mahdi.m.sh
دوشنبه 29 خرداد 1396, 16:31 عصر
سلام
ID کالا داخل همون جدول وجود داره یا باید از جدول دیگه ای خوانده بشه ؟

elham.saedi2014
دوشنبه 29 خرداد 1396, 17:59 عصر
داخل همون جدول وجود داره

elham.saedi2014
سه شنبه 30 خرداد 1396, 11:23 صبح
سلام

واقعا اینقدر سوال من سخته که کسی نمیتونه جوابشو بده ؟

mahdi.m.sh
سه شنبه 30 خرداد 1396, 19:41 عصر
سلام
یه برنامه گذاشتم ، نگاه کنید .
اگر سوالی بود بپرسید.

145555

elham.saedi2014
سه شنبه 30 خرداد 1396, 23:57 عصر
سلام واقعا ممنونم خیلی لطف کردید .



سلام
یه برنامه گذاشتم ، نگاه کنید .
اگر سوالی بود بپرسید.

SelectID.rar (http://barnamenevis.org/attachment.php?attachmentid=145555&d=1497973260)

اما این کد یه مشکل داره ، اگه دوتا نام تکرار ذخیره شده باشه و آیدی ها متفاوت به مشکل بر میخوره .

من فکر میکنم برا اساس شماره اندیس هر item باید id ها توی یه آرایه ریخته بشه و جستجو بشه اما نمیدونم چطور باید انجامش بدم .

samiasoft
چهارشنبه 31 خرداد 1396, 02:13 صبح
سلام

واقعا اینقدر سوال من سخته که کسی نمیتونه جوابشو بده ؟

:لبخند:نه اتفاقا راحت هست جواب سوالتون...ولی جستجو میکردین به راحتی پیدا میشد.

این دستور رو داخل کمبوباکس بزارید :

Dim cmd As New OleDbCommand connect.Close()
connect.Open()
cmd.CommandText = "select idnumber,name from tblkala WHERE name = '" + ComboBox1.Text + "' "
cmd.Connection = connect
Dim da As OleDbDataReader = cmd.ExecuteReader
If da.Read = True Then
Label1.Text = da.Item(0).ToString


connect.Close()
Exit Sub
End If

راستی دستور نمایش در کموباکس رو اینطور هم میتونی بنویسی
connect.Open()

strsql = "select name from tblkala "


da = New OleDbDataAdapter(strsql, connect)


da.Fill(ds, "tblkala")






ComboBox1.DataSource = ds.Tables("tblkala")
ComboBox1.DisplayMember = "name"


connect.Close()


درمورد خواندن id با دستوری که نوشتیم هربار از دیتابیس بخونه و بهت بده....نظرم اینه وقتی درکموباکس اول نام ها رو لود میکنی همزمان در کمبوباکس دوم هم ایدیها رو لود کنی.....اینطوری دیگه کل ایدیهارو داری و هنگام نمایش از کمبوباکس 2 میتونی نمایش بدی