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

نسخة كاملة : نقل بيانات جدول الى ملف نصي
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
السلام عليكم ورحمة الله وبركاته

اخواني جزاكم الله خير

اريد نقل بيانات جدول من قاعدة بيانات اكسس الى ملف نصي
هذه تجربتي ولكن لم يتم نقل البيانات

كود :
Dim TextFile as new System.Io.StreamWriter("C:\MyTestFile.txt")
Dim sSQL as String= String.Empty
sSQL = "SELECT * FROM MYTABLE"
Dim Command as new oleDbCommand (sSQL, Con)
Con.Open()
Din Reader as OleDbDataReader = Command.ExecuteReader()
if Reader.HasRows = True Then
While Reader.Read()
TextFile.WriteLine(Reader.GetString(0))
End While
Con.close
قم باستخدام ال stringbuilder او دالة docmd الموجوده فى مكتبة الاكسس
كيف استخدمها ممكن توضح بمثال
أغلق الملف بعد الكتابة فيه

لاحظ الكود قبل إغلاق الاتصال بقاعدة البيانات

كود :
Dim TextFile as new System.Io.StreamWriter("C:\MyTestFile.txt")
Dim sSQL as String= String.Empty
sSQL = "SELECT * FROM MYTABLE"
Dim Command as new oleDbCommand (sSQL, Con)
Con.Open()
Din Reader as OleDbDataReader = Command.ExecuteReader()
if Reader.HasRows = True Then
While Reader.Read()
TextFile.WriteLine(Reader.GetString(0))
End While

TextFile.Close()

Con.close
End If
الف شكر اخي العزيز kslawy
تم ارسال البيانات الى الملف النصي
لكن توجد مشكلة انه تم ارسال فقط الحقل الاول وعند تعديل الكود في السطر

PHP كود :
TextFile.WriteLine(Reader.GetString(0)) 

الى

PHP كود :
TextFile.WriteLine(Reader.GetString(0) & "@"  Reader.GetString(1)) 

اعطاني الحقل الاول والثاني ولكن
في

PHP كود :
TextFile.WriteLine(Reader.GetString(0) & "@"  Reader.GetString(1) & "@" Reader.GetString(2)) 

ظهرت رسالة خطأ

Specified cast is not valid

توجد ملاحظة

الحقل 2 نوعة تاريخ لانه عند طلب الحقل رقم 3 في الكود

TextFile.WriteLine(Reader.GetString(3))

لم تظهر رسالة الخطأ كيف اتغلب على هذه المشكلة

نعم الحل في GetString
تصبح GetDateAndTime

توجد لدي مشكلة في حالة لو كان حقل التاريخ فارغ
تظهر نفس الرسالة

Specified cast is not valid

كيف اتغلب على هذه المشكلة
توجد لدي مشكلة في حالة لو كان حقل التاريخ فارغ
تظهر نفس الرسالة

Specified cast is not valid

كيف اتغلب على هذه المشكلة
حسناً بعد البحث عن رسالة الخطأ في قوقل وجدت الحل بموقع مايكروسوفت هــنـــــــا

سبب الرسالة لأن الحقل فارغ لا توجد به بيانات لذلك يجب التأكد أولاً من وجود بيانات بالحقل كالتالي :

كود :
If Reader.HasRows = True Then
            While Reader.Read()
                If Not Reader.IsDBNull(Reader.GetOrdinal("أكتب هنا اسم الحقل بقاعدة البيانات")) Then
                    
                    TextFile.WriteLine(Reader.GetString(Reader.GetOrdinal("sname")))

                End If
            End While
            TextFile.Close()
            Con.Close()
        End If

الجديد هنا الدالة Reader.GetOrdinal والتي نمرر لها اسم الحقل في قاعدة البيانات فتعود لنا برقمه أي أننا لسنا مضطرين لكتابة رقم الحقل ستتكفل هذه الدالة بذلك

تم تجربة المثال ويعمل بدون ظهور رسالة الخطأ
ماذا تقصد بـ sname في السطر

PHP كود :
TextFile.WriteLine(Reader.GetString(Reader.GetOrdinal("sname"))) 
عفواً هذا اسم الحقل بقاعدة البيانات التي كنت أجرب بها الكود نسيت ما حذفته ... ضع بدله اسم الحقل الخاص بك
الصفحات : 1 2