تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
جلب أسماء الجداول- البرنامج يتوقف عن العمل
#1
السلام عليكم و رحمة الله و بركاته

اخوتى الكرام:

عندى مشكلة غريبة لا أعرف إن كانت مرت على أحد منكم أم لا وهى كالتالى :
كود :
   Public Function getTablesnames_Access() As DataTable
       Try
           Dim Conn10 As New OleDbConnection(connection_Access)
           If Conn10.State = ConnectionState.Closed Then Conn10.Open()
           Dim dt_Access As DataTable

           dt_Access = Conn10.GetSuchema("tables", {Nothing, Nothing, Nothing})

           Return dt_Access
       Catch
           MsgBox(Err.Description)
           Return Nothing
       End Try
   End Function

'=============================
   Public Function getTablesnames_SQL() As DataTable
       Try
           Dim Conn3 As New SqlConnection(connection_SQL)
           If Conn3.State = ConnectionState.Closed Then Conn3.Open()

           Dim dt_SQL As DataTable
:100
           dt_SQL = Conn3.GetSchema("tables", {Nothing, Nothing, Nothing})

           Return dt_SQL
       Catch
           MsgBox(Err.Description)
           Return Nothing
       End Try
   End Function
الوظيفتان تعملان على جلب أسماء الجداول فى قاعدتى بيانات اثنين إحدهما أكسس و الأخرى إس كيو إل
و الوظيفتان تعملان بنجاح بشكل منفصل

ولكن إذا استدعيت الوظيفة الأولى ثم استدعت الثانية يتوقف البرنامج ولا يعطى رسالة خطأ و ذلك عند السطر 100

أرجو الإفادة و شكرا
الرد }}}
تم الشكر بواسطة: asemshahen5
#2
رقم 100 زائدة في الكود هو سبب المشكلة
اعتقد ما منتبه اله


كود :
          Dim dt_SQL As DataTable
:100
          dt_SQL = Conn3.GetSchema("tables", {Nothing, Nothing, Nothing})
الرد }}}
تم الشكر بواسطة: mmaalmesry , asemshahen5
#3
مرحبا بالجميع ...

أعتقد رقم 100:  لا تؤثر في العمل أبدّا  !

وهذه الطريقة (100:) أو أي رقم ، أو أي كلمة ، يشترط بعدها نقطتان فوق بعضهما هكذا : 
تستخدم هذه الطريقة لإجبار البرنامج للانتقال فورا إلى ذلك السطر وما بعده من أوامر أو msgbox

وأكثر شيء تستخدم هذه الطريقة عندما نكتب مصيدة الأخطاء التالية
On error go to 100
في هذا السطر لا نكتب النقطتين :

حتى إذا كنا كتبنا كلمة معينة ، مثلا كلمة :Careful
فنكتب عندئذ السطر التالي في مصيدة الأخطاء
On error go to Careful
ونفس الشيء بدون النقطتين :

ولكن في مصيدة الأخطاء قبل أن نكتب (أي رقم أو أي كلمة) يجب أن نكتب الأمر التالي
Exit Sub
أما بعد الرقم أو الكلمة ، يمكننا أن نكتب للمستخدم أي شيء نريده
مثلا نكتب له msgBox


ملاحظة : عندما نكتبها هكذا بدون مصيدة  أخطاء ، أو بدون أن نأمر البرنامج للتوجه إلى ذلك السطر ، فإن ذلك لا يؤثر في البرنامج شيئا 
وسيشتغل البرنامج عادي جدا ، وكأنها غير موجودة Smile


أما الأخ mmaalmesry فإنه قد استخدم مصيدة الأخطاء التي تبدأ بكلمة Try وتنتهي بكلمة Catch
ولذلك لا داعي لاستخدام الرقم 100:
ولهذا السبب الأخ العزيز نيمو اعتبرها زائدة !




هذا والله أعلم .
الرد }}}
تم الشكر بواسطة: نيمو , asemshahen5 , asemshahen5
#4
(05-06-22, 02:10 PM)أبو خالد الشكري كتب : مرحبا بالجميع ...

أعتقد رقم 100:  لا تؤثر في العمل أبدّا  !

وهذه الطريقة (100:) أو أي رقم ، أو أي كلمة ، يشترط بعدها نقطتان فوق بعضهما هكذا : 
تستخدم هذه الطريقة لإجبار البرنامج للانتقال فورا إلى ذلك السطر وما بعده من أوامر أو msgbox

وأكثر شيء تستخدم هذه الطريقة عندما نكتب مصيدة الأخطاء التالية
On error go to 100
في هذا السطر لا نكتب النقطتين :

حتى إذا كنا كتبنا كلمة معينة ، مثلا كلمة :Careful
فنكتب عندئذ السطر التالي في مصيدة الأخطاء
On error go to Careful
ونفس الشيء بدون النقطتين :

ولكن في مصيدة الأخطاء قبل أن نكتب (أي رقم أو أي كلمة) يجب أن نكتب الأمر التالي
Exit Sub
أما بعد الرقم أو الكلمة ، يمكننا أن نكتب للمستخدم أي شيء نريده
مثلا نكتب له msgBox


ملاحظة : عندما نكتبها هكذا بدون مصيدة  أخطاء ، أو بدون أن نأمر البرنامج للتوجه إلى ذلك السطر ، فإن ذلك لا يؤثر في البرنامج شيئا 
وسيشتغل البرنامج عادي جدا ، وكأنها غير موجودة Smile


أما الأخ mmaalmesry فإنه قد استخدم مصيدة الأخطاء التي تبدأ بكلمة Try وتنتهي بكلمة Catch
ولذلك لا داعي لاستخدام الرقم 100:
ولهذا السبب الأخ العزيز نيمو اعتبرها زائدة !




هذا والله أعلم .


شكرا للتوضيح اعتقدها زائدة Big Grin  ماجربت الكود اللي فيه المشكلة 
لان اصلا مافهمت شو يقصد قاعدة بيانات اس كيو ال

المهم اذن On error go to

نفس عمل try
الرد }}}
تم الشكر بواسطة: asemshahen5 , asemshahen5
#5
العفو ..
نعم نفس الشيء
كلاهما مصيدة أخطاء
ولكن لكل نوع طريقتها الخاصة في البرمجة .
لكن كليهما سهلتان جدا .
الرد }}}
تم الشكر بواسطة: asemshahen5 , نيمو
#6
استخدم هذا الاستعلام لجلب أسماء جداول قاعدة بيانات SQL Server :

PHP كود :
Select Name AS 'Table_Name' From dbo.sysObjects Where xtype='u' order by Name 
الرد }}}
تم الشكر بواسطة: نيمو , mmaalmesry


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  لماذا البرنامج يتوقف بدل عرض رسالة الخطأ justforit 0 101 07-12-25, 10:22 AM
آخر رد: justforit
  كيفية جلب أسماء الأعمدة بجدول من جداول sql heem1986 2 745 17-08-25, 09:15 PM
آخر رد: heem1986
  كيفية حفظ إعدادات البرنامج بحيث لا تتغير أحمد إبراهيم سعد 4 3,001 06-08-25, 06:34 PM
آخر رد: Taha Okla
  [سؤال] تغيير الفورم الرئيسي عند تشغيل البرنامج في Visual Studio مع .NET 8؟ silverlord 2 650 09-03-25, 03:52 AM
آخر رد: silverlord
Rainbow [VB.NET] عدد من هم فاتحي البرنامج محمد مسافر 1 416 25-02-25, 07:58 PM
آخر رد: princelovelorn
  استفسار عن حمايه البرنامج ahmedramy 1 553 25-12-24, 11:07 PM
آخر رد: aljzazy
  مساعدة في عمل جملة الاتصال في ملف خارج البرنامج Emam emam 2 382 25-11-24, 09:24 PM
آخر رد: Emam emam
  تغيير مكان حفظ الصورة من قاعدة البيانات إلى مجلد في مسار البرنامج F.H.M 37 2,287 05-11-24, 08:30 AM
آخر رد: F.H.M
  [مثال] تشغيل البرنامج كمسؤول alswade 2 460 30-10-24, 07:08 PM
آخر رد: aliday03
Exclamation توقف ملف swf عن العمل في تطبيقي الورد الصناعي 0 200 14-10-24, 11:03 AM
آخر رد: الورد الصناعي

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


يقوم بقرائة الموضوع: