PDA

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



نسرین2000
سه شنبه 08 بهمن 1392, 08:31 صبح
باز هم سلام
من در یکی از فیلدهای تیبلم در دیتابیس شماره اتاقهای رزرو شده را ثبت می کنم به این صورت 102-105-108
توسط تابع زیر آیتم های موجود در لیست باکس را به این صورت ثبت می کنم :

Private Function DispSuit(lstbox As ListBox) As String
Dim i As Integer
DispSuit = ""
For i = 0 To lstbox.Items.Count - 1
DispSuit += lstbox.Items(i) & "-"
Next
DispSuit = Mid(DispSuit, 1, DispSuit.Length - 1)
End Function
حالا با کد cزیرهم می خوام فراخوانی رو انجام بدم :

Public Function DispSuitInList(ByVal strDest As String) As ListBox
Dim i As Integer = 0
DispSuitInList = New ListBox

While strDest.Length > 4
i = InStr(strDest, "-")
DispSuitInList.Items.Add(Mid(strDest, 1, i - 1))
strDest = Mid(strDest, i + 1)
End While
DispSuitInList.Items.Add(strDest)
End Function

ولی عمل نمی کنه و لیست باکسم خالی می مونه ؟؟؟؟؟؟؟؟؟؟؟؟؟

Hossis
سه شنبه 08 بهمن 1392, 17:47 عصر
نباید لیست رو در تابع دوم New کنی
این خط اشتباهه
DispSuitInList = New ListBox

boveiryghasem
چهارشنبه 09 بهمن 1392, 08:17 صبح
Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click

Dim oCmd As SqlClient.SqlCommand
Dim oDR As SqlClient.SqlDataReader
Dim strSQL As String
Dim strConn As String

strConn = "Data Source=GHASEM-PC\GHASEM;Initial Catalog=TEST;Integrated Security=True"
strSQL = "SELECT name FROM test"

Try
oCmd = New SqlClient.SqlCommand()
With oCmd
.Connection = _
New SqlClient.SqlConnection(strConn)
.Connection.Open()
.CommandText = strSQL
oDR = .ExecuteReader()
End With

ListBox1.Items.Clear()
Do While oDR.Read()
ListBox1.Items.Add(oDR.Item("Name"))
Loop

Catch oExcept As Exception
MessageBox.Show(oExcept.Message)
End Try
End Sub
اینا رو برای برنامه خودت تغییر بده:

strConn = "Data Source=اسم سرور;Initial Catalog=اسم دیتا بیس;Integrated Security=True"
strSQL = "SELECT نام فیلد مورد نظر FROM اسم جدول"

نسرین2000
شنبه 12 بهمن 1392, 07:49 صبح
سلام
ببینید من شماره اتاقها رو با علامت - از هم جدا می کنم یعنی 102-103-104
حالا تابعی رو می خوام که موقع خواندن این فیلد بتونه شماره اتاقها رو جدا کنه این کار رو هم با تابع زیر انجام می دم
Public Function DispSuitInList(ByVal strDest As String) As ListBox
Dim i As Integer = 0
DispSuitInList = New ListBox

While strDest.Length > 4
i = InStr(strDest, "-")
DispSuitInList.Items.Add(Mid(strDest, 1, i - 1))
strDest = Mid(strDest, i + 1)
End While
DispSuitInList.Items.Add(strDest)
End Function


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

نسرین2000
شنبه 12 بهمن 1392, 07:50 صبح
اون دوستی هم که گفتن این خط اشتباهه اون خط رو هم پاک کردم ولی باز هم درست نشد