31-10-18, 12:31 AM
(آخر تعديل لهذه المشاركة : 31-10-18, 12:34 AM {2} بواسطة Rabeea Qbaha.)
احد الحلول السريعة ان تقوم بتعبئه ال gv باسم المستخدم وال ID
ووضع علامه (ـ) بينهم : user1-500
وتقوم بجلب كل القيمة التي تلي (-)
او اذا كان ال user_name غير مكرر
استدعي الرقم الخاص به عند تغير الاختيار في combo عن طرق function
ووضع علامه (ـ) بينهم : user1-500
وتقوم بجلب كل القيمة التي تلي (-)
كود :
Sub fill_comb()
CSNF.Items.Clear()
Dim query As String
Dim command As OleDbCommand
Dim reader As OleDbDataReader
'فحص الاتصال بقاعدة البيانات
If Conn.State = ConnectionState.Closed Then
Conn.Open()
End If
query = "SELECT user_name,user_id from table"
command = New OleDbCommand(query, Conn)
reader = command.ExecuteReader()
If reader.HasRows Then
While reader.Read()
CSNF.Items.Add(reader(0) & "-" & reader(1))
End While
End If
reader.Close()
Conn.Close()
End Subاو اذا كان ال user_name غير مكرر
استدعي الرقم الخاص به عند تغير الاختيار في combo عن طرق function
كود :
Public Function user_id(ByVal username As String) As Integer
Dim output As Integer
Try
If ConnectionState.Open Then
Conn.Close()
End If
Conn.Open()
Dim cmd As OleDbCommand = Conn.CreateCommand
cmd.CommandText = "Select user_id from your_table where user_name=@user_name"
cmd.Prepare()
cmd.Parameters.AddWithValue("@user_name", username)
Dim dr As OleDbDataReader
dr = cmd.ExecuteReader
While dr.Read()
output = dr.GetValue(0)
End While
dr.Close()
Catch ex As OleDbException
' Do some logging or something.
MessageBox.Show("There was an error accessing your data. DETAIL: " & ex.Message)
End Try
Return output
End Functionكود :
Private Sub ComboBox_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox.SelectedIndexChanged
user_id(ComboBox.SelectedItem)
End Sub