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

كيفية قراءة السجل التالي

بدأه bahbah في 6 أكتوبر 2012 · 18 رد · 734 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

اللهم صل على محمد وآل محمد

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

أنا أتعامل مع أداة RichTextBox في حفظ النص بالتنسيق في قاعدة البيانات ..

ولكن كيف يتم قراءة السجلات بالتنسيق . إستخدمت هنا OleDbDataReader .. ولكن المشكلة هي إما أنه يقرأ السجل الأول ويكرره

إما يقرأ السجل الأول .. ويكرر الأخير أو قبل الأخير .. ولم أجد أي كود ينفع لذلك ..

هذا هو الكود المستخدم :

    Public Sub ReadW()
        Dim reader As New OleDbCommand("select ex from data", Conn)
        reader.Connection.Open()
        Dim dr As OleDbDataReader = reader.ExecuteReader()
        dr.Read()
        RichTextBox1.Rtf = dr.GetString(0)
        reader.Connection.Close()
        dr.Close()
    End Sub

    Public Sub ReadX()
        Dim reader As New OleDbCommand("select ex from data", Conn)
        reader.Connection.Open()
        Dim dr As OleDbDataReader = reader.ExecuteReader()
        If Me.BindingContext(DataSet1, "data").Position > 0 Then
            While dr.Read
                RichTextBox1.Rtf = dr.GetString(0)
            End While
        Else
            While dr.Read
                RichTextBox1.Rtf = dr.GetString(0)
                dr.NextResult()
            End While
        End If
        reader.Connection.Close()
        dr.Close()
    End Sub

ReadW يقرأ فقط السجل الأول ويكرره ..

ReadX يقرأ السجل الأول مرة واحدة والأخير يكرره في بقية السجلات ..

تحياتي :happy:

بتمني المساعدة :blush:

رجعت ومازال الفريق خاملاَ  :( 


 


abPuw.1.gif

#2

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

اخي لاداعي لتكرار القراءة, جرب الكود التالي

Dim cmd As New OleDbCommand("select ex from data", Conn)
Conn.Open()
Dim dr As OleDbDataReader = cmd.ExecuteReader()
If dr.Read() Then
RichTextBox1.Rtf = dr.GetString(0)
End If
dr.Close()
Conn.Close()

.:: Wish to become better and better ::.

#3

أشكرك أخي الكريم على المحاولة ..

ولكن !!

الكود لا يعطي المطلوب فهو يعمل ككود ReadW وهو تكرار النص مع أني أقوم بالإنتقال إلى السجلات الآخرى ..

رجعت ومازال الفريق خاملاَ  :( 


 


abPuw.1.gif

#4

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

اخي هذا الحل حسب مافهمت من سؤالك, اما اذا اردت التنقل بين السجلات, فأفضل لك الحل التالي

RichTextBox1.Rtf = ds.Tables[0].Rows(index)(0)

وقبلا قم بوضع بياناتك في DataSet وعند التنقل بين السجلات ما عليك الا زيادة او نقصان المتغير Index

تم تعديل هذه المشاركة بواسطة VB Helper في 6 أكتوبر 2012 في 19:58

1

.:: Wish to become better and better ::.

#5

هل ds تعني dataset وهل Tables أقوم بتغييرها إلى اسم الجدول ؟؟

ولكن الخاصية .Rows غير موجودة للعنصر Tables

أصبح كودي كهذا

RichTextBox1.Text = DataSet1.Tables.Item("data").Rows(XP)(0)

ولكن حصلت مشكلة حين أحدد نوع النص RTF تظهر لي مشكلة تنسيق الملف غير صالح ..

وعندما أحدد نوعه Text يظهر لي بدون تنسيقات !! فما الحل

رجعت ومازال الفريق خاملاَ  :( 


 


abPuw.1.gif

#6

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

اخي نعم .. ولقد قمت بتعديل السطر السابق, لقد نسيت ان اختار الجدول الاول من خلال الدليل ..

.:: Wish to become better and better ::.

#7

هل لديك حل إذاً للمشكلة التي ظهرت الآن وشكراً

تقبل تحياتي :happy:

رجعت ومازال الفريق خاملاَ  :( 


 


abPuw.1.gif

#8

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

اخي وماهي المشكلة؟!!

.:: Wish to become better and better ::.

#9
bahbah كتب:

ولكن حصلت مشكلة حين أحدد نوع النص RTF تظهر لي مشكلة تنسيق الملف غير صالح ..

وعندما أحدد نوعه Text يظهر لي بدون تنسيقات !! فما الحل

هذه المشكلة

رجعت ومازال الفريق خاملاَ  :( 


 


abPuw.1.gif

#10

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

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

.:: Wish to become better and better ::.

#11

تفضل أخي الكريم

Library Code.rar

رجعت ومازال الفريق خاملاَ  :( 


 


abPuw.1.gif

#12

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

اخي جرب الخاصيه RTF عوضا عن Text وتأكد من اسم الحقل المعروض ex

1

.:: Wish to become better and better ::.

#13

هذه المشكلة التي تظهر لي بعد أن نفذت ما قلت لي

post-219398-016831000 1349547544_thumb.p

المرفقات
بدون عنوان.png

رجعت ومازال الفريق خاملاَ  :( 


 


abPuw.1.gif

#14

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

اخي تأكد من رقم الدليل!!

.:: Wish to become better and better ::.

#15

حلت المشكلة .. شكراً لك أخي الكريم الكود كان يجب أن يكون هكذا ..

RichTextBox1.Rtf = DataSet1.Tables.Item("data").Rows(XP)("ex")

تقبل تحياتي :happy:

ولكن هناك خلل أيضاً (شكلنا ما بنخلص من المشاكل :mad: )

إذا ذهبت إلى السجل التالي ثم رجعت يأخذ السجل السابق تنسيق السجل الذي بعده !!

فما الحل للمشكلة وعذراً على الإزعاج أخي الكريم

رجعت ومازال الفريق خاملاَ  :( 


 


abPuw.1.gif

#16

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

اخبرتك اخي عليك تغيير رقم الدليل, لاني جربته على الحقل ex وشغال, اما بالنسبة للمشكله الحاليه فتأكد من انك تقوم بزبادة او نقصان الدليل XP

.:: Wish to become better and better ::.

#17

المشكلة حل جزء منها وهو عندما أقوم بإنشاء زرين غير الموجودين .. (يغيرون فقط محتويات RichTextBox) تعمل بتنسيقاتها

ولكن حين إستعمال كود التنقل بين الحقول الآخرى لا تعمل التنسيقات !!

رجعت ومازال الفريق خاملاَ  :( 


 


abPuw.1.gif

#18

وجدت الحل أخي الكريم ..

لا داعي للتعب ..

الحل أنني كنت قد أضفت مربع التنسيقات إلى DataBindings وإذا قمت بتغيير السجلات تتغير هي بالتالي ولا تتم

عملية القراءة لذلك الحل هو حذف الإضافة أي حذف هذا السطر

RichTextBox1.DataBindings.Add("Text", DataSet1, "data.ex")

تحياتي :happy:

شكراً على التعب

رجعت ومازال الفريق خاملاَ  :( 


 


abPuw.1.gif

#19

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

لاشكر على واجب اخي .. يالتوفيق ..

.:: Wish to become better and better ::.

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