الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

من يساعدني في إكتشاف الخطأ

مغلق
بدأه azhar3 في 20 مايو 2006 · 8 رد · 754 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بصراحة الكود اخذ مني وقت طويل وانا احاول احل المشكله

ولم انجح حتى الان

المشكله انني عملت برنامج كامل بالصيغة التاليه

وهي ناجحه على قاعدة بيانات الاكسس

اما عندما اردت استخدام sqlserver

ضهر الخطا التالي

current provider does not support the necessary interface for index functionality

وانا اعرف انكم لن تتخلو عن مساعدتي

وثمنها دعوة صادقه في ظهرالغيب ان شاء الله

الخطأ يظهر عندما استخدم الامر index

أو ٍ seek

علما بانني بانه يوجد اندكس واريد البحث بواسطته

Dim mydb As New ADODB.Connection
	mydb.Open "provider=sqloledb;user id=sa;pwd=;initial Catalog=trainning;Data Source=computer1"
	Set mytable = New ADODB.Recordset

   mytable.Open "table_admin", mydb, adOpenStatic, adLockOptimistic

mytable.Index = "admin_no"
mytable.Seek "=", Text1.Text

تم تعديل هذه المشاركة بواسطة azhar3 في 20 مايو 2006 في 23:00

#2

أخي الكريم لمذا لا تستخدم الإستعلام على شكل

SQL

Roccordset.Open "SELECT * FROM TABLEX WHERE FIELDX = '" & text1.text & "' " , activeconnection

good luck

#3

أخي الكريم

شكرا لك على التشريف والمحاوله

ولكن انا انتهيت من البرنامج وهو كبير

ولا أستطيع ان اغير كل شيء الان

علاوة على ذلك الاخطأ الكثيرة التي سوف تظهر

ارجوا المساعدة

#4

:D السلام عليكم ورحمة الله وبركاته :D

:) تفضل اخي العزيز كود ربط قواعد بيانات SQL SERVER 2000 و SQL SERVER 2003 مع كود ربط جداول داخل قاعدة البيانات وهو كود مختصر عن الاكواد الا حضرتك كتبها :-

:blink: توضع في قسم General Decleration

Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset

:blink: توضع في Form_load او زر الاتصال Cmdconnect

If cn.State = 1 Then
cn.Close
End If



cn.Open "PROVIDER=SQLOLEDB;SERVER=MIDONET;DATABASE=TEST;USER ID=Max bayne;PWD=Max2000"


rs.ActiveConnection = cn
rs.CursorType = adOpenKeyset
rs.Source = "SELECT * FROM MYTABLE"

rs.Open

Set DataGrid1.DataSource = rs

:lol: والسلام عليكم ورحمة الله وبركاته :lol:

#5

شكرا لك اخي الكريم

وبارك الله فيك

وشكرا لك على المحاوله

ولكن للاسف ليس هذا مااريد

ومازال هذا الخطأ غامض بنسبة لي

لاني اعتقد انه كل شيء صحيح مئه %

علاوة انه يعمل على الاكسس بدون خطأ

ارجوا من اصحاب الخبره المساعده

وفقكم الله

#6

السلام عليكم ورحمة الله ..

اخي الكريم

   mytable.Open "table_admin", mydb, adOpenStatic, adLockOptimistic

mytable.Index = "admin_no"
mytable.Seek "=", Text1.Text

يستبدل بالتالي

mytable.Open "select table_admin where admin_no = '" & text1.text & "' order by admin_no"
او اذا كان admin_no رفمي 
mytable.Open "select table_admin where admin_no = " & text1.text & " order by admin_no"

من سجن عكا وطلعــت جنـازة...

محمد جمجوم و فؤاد حجـازي

جازي عليهم يا شعبــي جازي...المندوب السامي وربعه عموما

محمد جمجوم ومع عطا الزير...فؤاد حجـــــــــازي عز الذخيـره

فلـسطـين

#7

عفوا اخي الفاضل

ليس هذا ماأريد

فانا اعرف هذه الطريقة

ولكن بالتحديد انا اريد استخدم seek و index

واذا كنت لاتعرف

فلا تضيع وقتك معي

شكرا لك على تصميمك على مساعدتي

ولكن انت تقراء الردود

#8

اسف على التدخل

لا يمكن استخدام الامر انديكس و لا الامر سيك و لا الامر like في الاس كيو ال

الاس كيو ال لها دوال خاصة

ارجع الى t-sql و شوف بس في النهابة راح تضطر تغير في الكود ليناسب الا كيو ال

اسف

#9

بسم الله الرحمن الرحيم

الأخوة الكرام

السلام عليكم ورحمة الله وبركاته

الأخ azhar3

يجب ان تعرف اخى الكريم نقطة هامة ...

وهى ان الـ ADO لا تدعم الـ Seek والـ Index إلا مع الأكسس فقط ( أكسس 2000 فما بعده)

يعنى تستخدم الـ Index والـ Seek مع الـ Jet Engine فقط

ولا يمكن إستخدامه مع الـ SQL Server

ويمكنك ان تستخدم الـ Support Method الخاصة بالـ Recordset

للتاكد من ان هل الـ Provider الحالى يدعم هذه الأمكانية ام لا

مثل الكود التالى

Debug.Print Rs.Support adindex

وهذه الطريقة هى التى تكشف لك

ماذا يدعم الـ Provider المستخدم حاليا من خصائص وإمكانيات الـ Recordset

وكان المفروض ان تقوم ميكروسوفت بتطوير الـ ADO اكثر واكثر فيما بعد ولكنها دخلت فى الدوت نت

وانت يجب عليك ان تستخدم اى شىء بديل

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…