تقييم الموضوع :
  • 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 & "%'"
أستودعكم الله الذي لا تضيع ودائعه أرجو ان تجدوا بمشاركاتي ما يجعلكم تدعون لي بخير ان تحتم غيابي.
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مشكلة في تصميم قاعدة البيانات djelloul 2 42 06-12-16, 12:36 PM
آخر رد: djelloul
  [C#.NET] مشكلة في استعلام مابين تاريخين abdallah_alashwal 1 63 09-11-16, 12:04 PM
آخر رد: ممدوح
Sad [Acces2007] عاجل ارجو المساعدة لدي مشكلة مع برمجة زر البحث في الاكسس saimon 4 123 24-10-16, 07:54 PM
آخر رد: saimon
  مشكلة في حساب كمية السلع في المخزن djelloul 0 100 06-10-16, 02:15 PM
آخر رد: djelloul
  مشكلة في ادخال قيمة موجودة في textbox نسيم 9 356 20-06-16, 04:23 PM
آخر رد: الوادي
  مشكلة الترقيم التلقائي للعمود الاول في الداتا جريد فيو kofa 31 740 18-06-16, 03:53 AM
آخر رد: khodor1985
Sad مشكلة عدم حفظ البيانات في قاعدة البيانات wrd 10 551 10-06-16, 10:20 PM
آخر رد: ابو ليلى
  مشكلة ربط قواعد البيانات للفورمات المختلفة ali jamal 0 160 07-06-16, 02:31 PM
آخر رد: ali jamal
  مشكلة في نقل قاعدة البيانات الى جهاز اخر Namer 5 294 02-06-16, 12:01 PM
آخر رد: Namer
  مشكله في عملية البحث علي كعبي 12 245 01-06-16, 01:21 AM
آخر رد: علي كعبي

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


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