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

نسخة كاملة : مشكلة عدم قبول النصوص الطويل في قاعدة البيانات على برنامج فيجوال بيسك 2010
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
(08-06-19, 03:13 AM)الرائد كتب : [ -> ]السلام عليكم اخواني الكرام 
تواجهني المشكلة : Sad
Huh  البرنامج لايسمح بكتابة وتخزين نص طويل في قاعدة البيانات , مع العلم أنني قمت بتحديد maxlength 125554456 واستخدم قاعدة بيانات من نوع أكسس وقد حددت في الاول short text لكن دون جدوى لايقبل النصوص الطويلة فجربت longtext وحتى هي لم تجدي اي نفع ودون جدوى , 
استخدمت دالة try فظهرت لي رسالة تفيد بان : DataGridView Column exceeds the MaxLength
 limit
استخدمت دالة try فظهرت لي رسالة تفيد بان : DataGridView Column exceeds the MaxLength

 limit

دي هيا سبب المشكله كما تفضلت حضرتك , وكما تفضل الاخوه الكرام 

حلها وبعد كده ظهرت مشكله تانيه سواء بنفس المسمي او خلافه - نحلها 

1- غير ال length لل جريد فيو للخليه المطلوب اضافه النص الطويل بها () 999999999  ضيف الرقم ده زي ما في الصور المرفقه
[attachment=21632]

[attachment=21633]
[attachment=21634]
أخي الكريم اشكرك على جهودك لكن دون جدوى من ذلك سأقوم بارفاق مثال على ذلك
الخطاء يقف فقط لديك اخى الفاضل
فى كتابة الكود وطريقة التعامل فى المشروع لديك

مرفق قاعدة بيانات تحتوى على نصل بعدد احرف تتجاوز 5000 حرف
حتى توضح صورة المشكلة لديك اذا خطاء فى الكود او اذا كان خطاء فى بناء الادوات المستخدة
يفضل ارفاق المشروع الذى لديك للنظر به وحل المشكلة واعادة رفعه لك مجدداً 

تحياتى لك
وتمنياتى لك التوفيق
اخواني الكرام لقد كان الحل فقط في اعادة فورم جديد فلقد قمت بالتعديل المتكرر على الملفات وهذا سبب لي المشكل و لكن حين قمت بالتعديل من بداية اللكود الى نهايته وتحديد حجم النص لم أجد اي مشاكل في ذلك
لكن تبقى لي مشكلة وحيدة وهي أن النص صار يقبل عندي في قاعدة البيانات
لكن في خلال حفظي له بملف وورد أثناء عملية الاستبدال , أجد أنه يطالبني برسالة '''string parameter too long"""
هنا النص الذي استخدمه للاستبدال على ملف الوورد من الفورم

Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Try
Dim pos As String = BindingContext(dt).Position
ProgressBar1.Value = 0
If TextBox1.Text = "" Then
MsgBox("يرجى إدخال تسمية الملف") 'هنا لاعادة تسمية الملف قبل الحفظ
Return
End If
curDoc = New Word.Application
My.Computer.FileSystem.CopyFile(
"F:\المقدم\نظام المقدم\نظام المقدم\bin\Debug\مقالات\templates.docx",
"F:\المقدم\نظام المقدم\نظام المقدم\bin\Debug\مقالات\" & TextBox1.Text & ".docx",
Microsoft.VisualBasic.FileIO.UIOption.AllDialogs,
Microsoft.VisualBasic.FileIO.UICancelOption.DoNothing)

curDoc.Documents.Open("F:\المقدم\نظام المقدم\نظام المقدم\bin\Debug\مقالات\" & TextBox1.Text & ".docx")
ProgressBar1.Value = 10
FindText("text1", dt.Rows(pos).Item(1)) 'في البرميتر الاول الكلمة المراد البحث عنها وفي الثانية الاستبدال
ProgressBar1.Value = 25
FindText("text2", dt.Rows(pos).Item(2))
ProgressBar1.Value = 35
FindText("text3", dt.Rows(pos).Item(3))
ProgressBar1.Value = 60
FindText("text4", dt.Rows(pos).Item(4))
ProgressBar1.Value = 85
curDoc.Documents.Item(1).Save() 'لحفظ التغيرات على الملف
ProgressBar1.Value = 100
MsgBox("لقد تم حفظ مقالك بنجاح")
Catch ex As Exception
MsgBox(ex.Message) 'رسالة الخطاء اذا حدث
Finally
'curDoc.Documents.Close(Word.WdSaveOptions.wdDoNotSaveChanges) 'لاغلاق الوورد من العمليات
'curDoc.Quit()
'curDoc = Nothing
'ProgressBar1.Value = 100
End Try
End Sub
الصفحات : 1 2