تقييم الموضوع :
  • 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 & "%'"
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مشكلة فى الجريد فيو salah525 10 540 05-11-23, 08:15 PM
آخر رد: justforit
Big Grin مشكلة لسه ماحدش جاوبني عليها cmd.excutenunquery Medo84 1 1,304 27-08-23, 12:47 PM
آخر رد: رضوان الجماعي
  مشكلة عند الاتصال ب sql server 2014 bassant 1 1,004 27-08-23, 12:26 PM
آخر رد: رضوان الجماعي
  [سؤال] مشكلة فى عرض الصورة من ادخل قاعدة البيانات alims 2 1,266 17-11-21, 10:09 AM
آخر رد: سعود
  مشكلة ظهور بياانات حقلين في قاعدة بيانات على شكل علامة استفهام bassant 5 1,632 17-10-21, 02:07 PM
آخر رد: abubasilIraq
  مشكلة عند الاتصال ب sql server 2014 bassant 4 1,416 16-09-21, 02:52 PM
آخر رد: asemshahen5
  [سؤال] مشكلة اضافة التاريخ مع قاعدة بيانات alims 6 2,335 25-01-21, 02:45 AM
آخر رد: alims
  مشكلة في إظهار عمود التاريخ في داتا جريد فيو mofhmy 5 6,558 12-11-20, 12:13 PM
آخر رد: bahaa.elkomy@yahoo.com
Heart مشكلة ال ID في عدم تخزين وترتيب البيانات بشكل منتظم الرائد 5 3,163 18-07-19, 01:42 AM
آخر رد: الرائد
  [سؤال] مشكلة بـ كود جمع حقل الاجمالي norman 0 1,836 06-07-19, 02:47 AM
آخر رد: norman

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


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