منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : اشكاليه في البحث في البيانات عبر VB net
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
اخواني الافاضل عندي الكود التالي :

Dim saveinfo As New OleDb.OleDbCommand
        Dim constr As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\a.accdb"
        Dim conn As New OleDbConnection(constr)
        Dim re As OleDbDataReader
        Dim DataAdapter1 As New OleDbDataAdapter(SQLstr, conn)
        saveinfo.Connection = conn
        saveinfo.CommandType = CommandType.Text
        Dim asd As String
(asd = Trim(TextBox5.Text
         & saveinfo.CommandText = ("select * from ba where Name = " & asd
        conn.Open()
        re = saveinfo.ExecuteReader
        re.Read()
        TextBox1.Text = re("Id")
        TextBox2.Text = re("Name")
        TextBox3.Text = re("Age")
        TextBox4.Text = re("Job")
        conn.Close()
عند التنفيذ يأتي الخطأ التالي : لم يتم إعطاء قيمة لمعلمة أو أكثر من المعلمات المطلوبة
مع العلم انني لو قمت بوضع الاستعلام بشكل صريح اي لو كنت ابحث عن الاسم "عماد" في الاستعلام فستكون النتيجه صحيحه ويتم اكمال بيانات الاستعلام بشكل ممتاز
لكن عند جلب القيمه من متغير فتكون النتيجه ايقاف الكود ورسالة الخطأ .

اعتذر عن تداخل الكود بسبب القص واللصق هنا .
use = if filed type is number
use ' if filed type string
use # if field type is date
change name = " & asd
to
name like '" & asd & "'"




المثال مرفق

وهذا هو الكلاس
PHP كود :
Imports System.Data.OleDb

Public Class Form1
    Dim str 
As String "provider=microsoft.ace.oledb.12.0;data source=db.accdb"
 
   Dim con As New OleDbConnection(str)
 
   Dim dt As DataTable
    Dim cm 
As OleDbCommand
    Private Sub gd
(ByVal tn As String)
 
       dt = New DataTable
        cm 
= New OleDbCommand(""con)
 
       cm.CommandText "select * from tb where tname=@tname"
 
       cm.Parameters.AddWithValue("@tname"tn)
 
       If con.State ConnectionState.Closed Then con.Open()
 
       dt.Load(cm.ExecuteReader)
 
   End Sub


    Private Sub txtinput_KeyDown
(sender As ObjectAs KeyEventArgsHandles txtinput.KeyDown
        If e
.KeyData Keys.Enter Then
            gd
(txtinput.Text)

 
           If dt.Rows.Count 0 Then
                tid
.Clear()
 
               tname.Clear()
 
               age.Clear()
 
               job.Clear()


 
               tid.Text dt(0)(0)
 
               tname.Text dt(0)(1)
 
               age.Text dt(0)(2)
 
               job.Text dt(0)(3)

 
           End If
 
           txtinput.Clear()
 
       End If

 
   End Sub
End 
Class 
بارك الله فيكم شاكرا لكم تعاونكم وجميل صنيعكم