السلام عليكم ورحمة الله وبركاتة
لدي قاعدة بيانات للطلاب واريد طريقة البحث في الاسماء حيث ان لدي عمود للاسم الاول وعمود للاسم الثاني وعمود للاسم الثالث
وفي المقابل
يوجد بالفورم 3 تكست بوكس لكل منهم اريد طريقة للبحث المتقدم عند كتابة اسم الاول والثاني معا او الثاني والثالث معا او الاول والثالث معا او احداهما
السلام عليكم و رحمة الله و بركاته
كود :
Private Sub btnSearch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSearch.Click
Dim sqlSearch As String
If txtName1.Text <> "" And txtName2.Text.Trim <> "" And txtName3.Text.Trim = "" Then
sqlSearch = "Select * from MyTable where Name1 like '" & txtName1.Text & "' and Name2 like '" & txtName2.Text & "'"
ElseIf txtName1.Text <> "" And txtName2.Text.Trim = "" And txtName3.Text.Trim <> "" Then
sqlSearch = "Select * from MyTable where Name1 like '" & txtName1.Text & "' and Name3 like '" & txtName3.Text & "'"
ElseIf txtName1.Text = "" And txtName2.Text.Trim <> "" And txtName3.Text.Trim <> "" Then
sqlSearch = "Select * from MyTable where Name2 like '" & txtName2.Text & "' and Name3 like '" & txtName3.Text & "'"
ElseIf txtName1.Text <> "" And txtName2.Text.Trim <> "" And txtName3.Text.Trim <> "" Then
sqlSearch = "Select * from MyTable where Name1 like '" & txtName1.Text & "' and Name2 like '" & txtName2.Text & "' and Name3 like '" & txtName3.Text & "'"
ElseIf txtName1.Text <> "" And txtName2.Text.Trim = "" And txtName3.Text.Trim = "" Then
sqlSearch = "Select * from MyTable where Name1 like '" & txtName1.Text & "'"
ElseIf txtName1.Text = "" And txtName2.Text.Trim <> "" And txtName3.Text.Trim = "" Then
sqlSearch = "Select * from MyTable where Name2 like '" & txtName2.Text & "'"
ElseIf txtName1.Text = "" And txtName2.Text.Trim = "" And txtName3.Text.Trim <> "" Then
sqlSearch = "Select * from MyTable where Name1 Name3 like '" & txtName3.Text & "'"
Else
MsgBox("فضلا إملأ على الأقل اسم واحد", MsgBoxStyle.Information, "خطأ")
Exit Sub
End If
End Sub
السلام عليكم و رحمة الله و بركاته
السلام عليكم ورحمة الله وبركاته
عندي طريقة أستخدمتها قديماً، أرجو أن تفيدكم (لاحظوا: توجد مسافة موجود في نهاية كل جملة نصية)
كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim sql As String = "SELECT * FROM [table1] "
Dim where As String = ""
If Me.txtName1.Text.Trim <> "" Then where &= "AND [name1] = @name1 "
If Me.txtName2.Text.Trim <> "" Then where &= "AND [name2] = @name2 "
If Me.txtName3.Text.Trim <> "" Then where &= "AND [name3] = @name3 "
If where <> "" Then sql &= "WHERE " & where.Substring(4)
Dim comm As New OleDb.OleDbCommand(sql, conn)
If Me.txtName1.Text.Trim <> "" Then comm.Parameters.AddWithValue("@name1", Me.txtName1.Text.Trim)
If Me.txtName2.Text.Trim <> "" Then comm.Parameters.AddWithValue("@name2", Me.txtName2.Text.Trim)
If Me.txtName3.Text.Trim <> "" Then comm.Parameters.AddWithValue("@name3", Me.txtName3.Text.Trim)
MsgBox(sql)
Dim dt As New DataTable
Dim da As New OleDb.OleDbDataAdapter(comm)
If da.Fill(dt) > 0 Then
'
'
'
End If
End Sub
السلام عليكم ورحمة الله وبركاته