تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مشكلة فى كود البحث بالاسم
#1
اخوانى عندى كود للبحث فى قاعدة البيانات بالاسم
انا اعرف انو البحث لازم يكون بحقل لا يتكرر مثل الرقم القومى مثلا ولكن مشروعى ليس فيه شى يتم البحث من خلاله إلا الاسماء
الكود شغال ولكن ليس بصورة 100% لانه يجلب اقرب اسم ولا يعطى الاسم الصحيح
يعنى مثلا اذا اردت ان ابحث عن (محمد على احمد ) اذا كتبت على مثلا
يعطينى هذا الجواب
فما الحل ؟
PHP كود :
[Imports System.Data.SqlClient
Imports System
.Globalization
Public Class ser
    Dim sqlcon 
As New SqlConnection(" data source = ABDALRAHMAN-PC\SQLEXPRESS; initial catalog = medical ; integrated security = true")
    
Dim sqlstatment As String
    Dim sql1 
As String
    Dim winclass 
As New Class1


    
Private Sub ser_Load(ByVal sender As ObjectByVal e As System.EventArgsHandles Me.Load

        winclass
.Fillcombobox(cbojob" jobs""jobname""jobid"" ")
        
cbojob.SelectedIndex = -1

    End Sub

    
Private Sub btnquery1_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles btnquery1.Click
        btnquery1
.Enabled False
        btnnewquery1
.Enabled True
        
If txtquery1.Text.Trim "" Then
            MsgBox
("ادخل الاسم للبحث "MsgBoxStyle.Exclamation)
            
txtquery1.Focus()
            
lblerror.Text = (" ادخل الاسم للبحث ")
            
lblerror.ForeColor Color.Red

            
Exit Sub
        End 
If

        If 
sqlcon.State ConnectionState.Open Then
            sqlcon
.Close()
        
End If

        
'---------------------------------------------------
        sqlstatment = " "
        sql1 = " "
        Dim firstcont As Boolean = True
        If txtquery1.Text <> " " Then
            If firstcont = False Then
                sqlstatment = sqlstatment & " patient.name like '
%" & txtquery1.Text & "%'"
            Else
                firstcont = False
                sqlstatment = sqlstatment & " patient.name like '
%" & txtquery1.Text & "%'"
            End If

        End If

        sqlcon.Open()
        sql1 = " Select *  from patient where " & sqlstatment
        Dim cmd As New SqlCommand(sql1)
        cmd.Connection = sqlcon
        Dim dr As SqlDataReader = cmd.ExecuteReader
        If dr.HasRows Then
            dr.Read()
            txtrec1.Text = dr.Item("id")
            txtren.Text = dr.Item("name")
            txtname.Text = dr.Item("name")
            txtid.Text = dr.Item("id")
            cbojob.SelectedValue = dr.Item("jobid")
            txtdate.MyText = dr.Item("date")
            txttel.Text = dr.Item("tel")
            txtphone.Text = dr.Item("phone")
            txtaddress.Text = dr.Item("address")
            txtcomment.Text = dr.Item("comments")
            cboage.SelectedText = dr.Item("age")
            cbogender.SelectedText = dr.Item("gender")
            cbomerital.SelectedText = dr.Item("merital")
            sqlcon.Close()
            btnenabled1.Enabled = True
        Else
            lblerror.BackColor = Color.Red
            lblerror.ForeColor = Color.White
            lblerror.Text = "الاسم غير موجود "
            sqlcon.Close()

        End If
    End Sub

    Private Sub btnnewquery1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnnewquery1.Click
        btnquery1.Enabled = True
        btnnewquery1.Enabled = False
        cleartext()
        '
btnsaveupdate1.Enabled True
        sqlcon
.Open()

    
End Sub
    
Private Sub cleartext()
        
txtname.Text " "
        
txtquery1.Text " "
        
txtid.Text " "
        
txtaddress.Text " "
        
txtcomment.Text " "
        
txtdate.MyDay " "
        
txtdate.MyMonth " "
        
txtdate.MyYear " "
        
txttel.Text " "
        
txtphone.Text " "
        
cboage.Text " "
        
cbogender.Text " "
        
cbojob.SelectedIndex = -1
        cbomerital
.Text " "
        
lblerror.Visible False

    End Sub
    
Private Sub enabledtext()
        
txtname.Enabled True
        txtid
.Enabled True
        txtdate
.Enabled True
        txtaddress
.Enabled True
        txtcomment
.Enabled True
        txtphone
.Enabled True
        txttel
.Enabled True
        cboage
.Enabled True
        cbogender
.Enabled True
        cbojob
.Enabled True
        cbomerital
.Enabled True


        sqlcon
.Close()
    
End Sub

    
Private Sub btnenabled1_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles btnenabled1.Click
        enabledtext
()
        
btnsaveupdate1.Enabled True

    End Sub

    
Private Sub btnsaveupdate1_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles btnsaveupdate1.Click
        Dim updateok 
As Boolean winclass.SQLExciute(" update patient set name= '" txtname.Text "',comments='" txtcomment.Text "'  where id= " txtrec1.Text "")
        If 
updateok True Then
            lblerror
.Text = (" تمت عملية تعديل البيانات ")
            
lblerror.BackColor Color.Green
            lblerror
.ForeColor Color.White
            btnsaveupdate1
.Enabled False

        
Else

            
MsgBox("خطأ فى عملية تعديل البيانات "MsgBoxStyle.Critical)
        
End If
    
End Sub
End 
Class] 
الرد }}}}
تم الشكر بواسطة:
#2
اخي الكريم ضع الاكواد ضمن الوسوم التالية:
كود :
put your code here please


[align*=left]
[code*]

put your code here please

[/code*]

[/align*]


من غير نجمة طبعا
كل مااعرفه في البرمجة تجدونه هنا
الرد }}}}
تم الشكر بواسطة:
#3
اين اجد هذه الوسوم اخى
الرد }}}}
تم الشكر بواسطة:
#4
اعلى اطار المحرر ازرار مكتوب عليها php و #
كل مااعرفه في البرمجة تجدونه هنا
الرد }}}}
تم الشكر بواسطة:
#5
align*=left]
كود :
Imports System.Data.SqlClient
Imports System.Globalization
Public Class ser
    Dim sqlcon As New SqlConnection(" data source = ABDALRAHMAN-PC\SQLEXPRESS; initial catalog = medical ; integrated security = true")
    Dim sqlstatment As String
    Dim sql1 As String
    Dim winclass As New Class1


    Private Sub ser_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load




        winclass.Fillcombobox(cbojob, " jobs", "jobname", "jobid", " ")
        cbojob.SelectedIndex = -1

    End Sub

    Private Sub btnquery1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnquery1.Click
        btnquery1.Enabled = False
        btnnewquery1.Enabled = True
        If txtquery1.Text.Trim = "" Then
            MsgBox("ادخل الاسم للبحث ", MsgBoxStyle.Exclamation)
            txtquery1.Focus()
            lblerror.Text = (" ادخل الاسم للبحث ")
            lblerror.ForeColor = Color.Red

            Exit Sub
        End If

        If sqlcon.State = ConnectionState.Open Then
            sqlcon.Close()
        End If

        '---------------------------------------------------
        sqlstatment = " "
        sql1 = " "
        Dim firstcont As Boolean = True
        If txtquery1.Text <> " " Then
            If firstcont = False Then
                sqlstatment = sqlstatment & " patient.name + patient.tellike '%" & txtquery1.Text & "%'"
            Else
                firstcont = False
                sqlstatment = sqlstatment & " patient.name + patient.tel like '%" & txtquery1.Text & "%'"
            End If

        End If

        sqlcon.Open()
        sql1 = " Select *  from patient where " & sqlstatment
        Dim cmd As New SqlCommand(sql1)
        cmd.Connection = sqlcon
        Dim dr As SqlDataReader = cmd.ExecuteReader
        If dr.HasRows Then
            dr.Read()
            txtrec1.Text = dr.Item("id")
            txtren.Text = dr.Item("name")
            txtname.Text = dr.Item("name")
            txtid.Text = dr.Item("id")
            cbojob.SelectedValue = dr.Item("jobid")
            txtdate.MyText = dr.Item("date")
            txttel.Text = dr.Item("tel")
            txtphone.Text = dr.Item("phone")
            txtaddress.Text = dr.Item("address")
            txtcomment.Text = dr.Item("comments")
            cboage.SelectedText = dr.Item("age")
            cbogender.SelectedText = dr.Item("gender")
            cbomerital.SelectedText = dr.Item("merital")
            sqlcon.Close()
            btnenabled1.Enabled = True
        Else
            lblerror.BackColor = Color.Red
            lblerror.ForeColor = Color.White
            lblerror.Text = "الاسم غير موجود "
            sqlcon.Close()

        End If
    End Sub

    Private Sub btnnewquery1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnnewquery1.Click
        btnquery1.Enabled = True
        btnnewquery1.Enabled = False
        cleartext()
        'btnsaveupdate1.Enabled = True
        sqlcon.Open()

    End Sub
    Private Sub cleartext()
        txtname.Text = " "
        txtquery1.Text = " "
        txtid.Text = " "
        txtaddress.Text = " "
        txtcomment.Text = " "
        txtdate.MyDay = " "
        txtdate.MyMonth = " "
        txtdate.MyYear = " "
        txttel.Text = " "
        txtphone.Text = " "
        cboage.Text = " "
        cbogender.Text = " "
        cbojob.SelectedIndex = -1
        cbomerital.Text = " "
        lblerror.Visible = False

    End Sub
    Private Sub enabledtext()
        txtname.Enabled = True
        txtid.Enabled = True
        txtdate.Enabled = True
        txtaddress.Enabled = True
        txtcomment.Enabled = True
        txtphone.Enabled = True
        txttel.Enabled = True
        cboage.Enabled = True
        cbogender.Enabled = True
        cbojob.Enabled = True
        cbomerital.Enabled = True


        sqlcon.Close()
    End Sub

    Private Sub btnenabled1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnenabled1.Click
        enabledtext()
        btnsaveupdate1.Enabled = True

    End Sub

    Private Sub btnsaveupdate1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnsaveupdate1.Click
        Dim updateok As Boolean = winclass.SQLExciute(" update patient set name= '" & txtname.Text & "',comments='" & txtcomment.Text & "'  where id= " & txtrec1.Text & "")
        If updateok = True Then
            lblerror.Text = (" تمت عملية تعديل البيانات ")
            lblerror.BackColor = Color.Green
            lblerror.ForeColor = Color.White
            btnsaveupdate1.Enabled = False

        Else

            MsgBox("خطأ فى عملية تعديل البيانات ", MsgBoxStyle.Critical)
        End If
    End Sub

  
    Private Sub txtquery1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtquery1.TextChanged

    End Sub
End Class

[/align]
الرد }}}}
تم الشكر بواسطة:
#6
المشكلة فى الكود هى مثلا اذا اردت البحث عن( هيثم سعيد على محمد )
فاذا كتبت هيثم لا يعطى نتيجة فى البحث ولكن اذا كتبت سعيد او على او محمد فانه يعطى النتيجة بمعنى انه يبحث عن الاسم الثانى او الثالث او الرابع
الرد }}}}
تم الشكر بواسطة:
#7
السلام عليكم

استخدم Like في الشرط بدلا من المساواة

تحياتي
الرد }}}}
تم الشكر بواسطة:
#8
align*=left]
كود :
sqlstatment = sqlstatment & " patient.name like '%" & txtquery1.Text & "%'"
            Else
                firstcont = False
                sqlstatment = sqlstatment & " patient.name like '%" & txtquery1.Text & "%'"
            End If

        End If
موجودة اخى

[/]align
الرد }}}}
تم الشكر بواسطة:
#9
كود :
sqlstatment = sqlstatment
هذه الطريقة هل انت متاكد انها ليست السبب في الخطا؟؟
كل مااعرفه في البرمجة تجدونه هنا
الرد }}}}
تم الشكر بواسطة:
#10
ان كانت القيمة المراد الاستعلام عنها ليست الاولى بصياغة جملة الاستعلام فضع قبلها الضم And

كود :
sqlstatment = sqlstatment & " and patient.name like '%" & txtquery1.Text & "%'"
كل مااعرفه في البرمجة تجدونه هنا
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] مشكلة الاختلاف بين ترتيب الصفوف في قاعدة البيانات والداتا جريد فيو waelalmsry75 2 110 18-08-17, 05:40 PM
آخر رد: waelalmsry75
  مشكلة في كود البحث Search khaled12345 5 223 16-07-17, 08:22 PM
آخر رد: سعود
  مشكلة في الاتصال مع ملفات ال SQL الخارجية .mdf khaled12345 13 422 16-07-17, 06:21 AM
آخر رد: ahmed6610
  مشكلة في كود الحذف Delete khaled12345 5 174 15-07-17, 10:58 PM
آخر رد: أبوبكر سويدان
  [سؤال] استفسار عن كود البحث المتعدد Marwan9990 22 944 15-07-17, 11:51 AM
آخر رد: أبوبكر سويدان
  [سؤال] مشكلة في كود الاضافة والتعديل في المشروع khaled12345 11 359 15-07-17, 02:17 AM
آخر رد: سعود
  البحث في قاعدة البيانات مع تجاهل التشكيل waelalmsry75 16 672 03-07-17, 05:04 AM
آخر رد: K39
  مشكلة في عمل ال Navigation khaled12345 8 246 27-06-17, 01:25 PM
آخر رد: سعود
  [VB.NET] مشكلة في كود التعديل والحذف boofa2015 1 331 27-06-17, 12:03 AM
آخر رد: سعود
  مشكلة في تحزيم البرنامج samawi 2 186 23-04-17, 03:06 AM
آخر رد: samawi

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم