منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
نقل بيانات جدول الى ملف نصي - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم قواعد البيانات (http://vb4arb.com/vb/forumdisplay.php?fid=40)
+--- قسم : قسم أسئلة قواعد البيانات تحت بيئة الـ.NET (http://vb4arb.com/vb/forumdisplay.php?fid=41)
+--- الموضوع : نقل بيانات جدول الى ملف نصي (/showthread.php?tid=1712)

الصفحات: 1 2


نقل بيانات جدول الى ملف نصي - aftfm - 26-01-14

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

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

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


RE: نقل بيانات جدول الى ملف نصي - aftfm - 26-01-14

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

كود :
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



RE: نقل بيانات جدول الى ملف نصي - amgadtamer - 26-01-14

قم باستخدام ال stringbuilder او دالة docmd الموجوده فى مكتبة الاكسس


RE: نقل بيانات جدول الى ملف نصي - aftfm - 26-01-14

كيف استخدمها ممكن توضح بمثال


RE: نقل بيانات جدول الى ملف نصي - kslawy - 26-01-14

أغلق الملف بعد الكتابة فيه

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

كود :
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



RE: نقل بيانات جدول الى ملف نصي - aftfm - 26-01-14

الف شكر اخي العزيز 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

كيف اتغلب على هذه المشكلة


RE: نقل بيانات جدول الى ملف نصي - aftfm - 26-01-14

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

Specified cast is not valid

كيف اتغلب على هذه المشكلة


RE: نقل بيانات جدول الى ملف نصي - kslawy - 26-01-14

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

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

كود :
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 والتي نمرر لها اسم الحقل في قاعدة البيانات فتعود لنا برقمه أي أننا لسنا مضطرين لكتابة رقم الحقل ستتكفل هذه الدالة بذلك

تم تجربة المثال ويعمل بدون ظهور رسالة الخطأ


RE: نقل بيانات جدول الى ملف نصي - aftfm - 26-01-14

ماذا تقصد بـ sname في السطر

PHP كود :
TextFile.WriteLine(Reader.GetString(Reader.GetOrdinal("sname"))) 



RE: نقل بيانات جدول الى ملف نصي - kslawy - 27-01-14

عفواً هذا اسم الحقل بقاعدة البيانات التي كنت أجرب بها الكود نسيت ما حذفته ... ضع بدله اسم الحقل الخاص بك