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

مشكلتين في صيغة التاريخ و حقل المعرف

بدأه متفائل جداً في 2 أكتوبر 2008 · 0 رد · 768 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1

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

كل عام وأنتم بخير أولا وتقبل الله طاعاتكم ..

عندي مشكلتين بسيطة وليست بهذا التعقيد بالنسبة لكم كخبراء ...

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

المشكلة الأولى

أنني عندما أضيف بيانات من الداتا جريد للجدول (بإستخدام طريقة الربط بالكود مع قاعدة البيانات ADO) تواجهني مشكلة في تخزين التاريخ بصيغة وكأنها رموز وليست تاريخ

مثال :

أدخل في عمود في الداتا جريد التاريخ التالي

02/10/1429 فيخزن بالجدول بهذه الصيغة (24/12/0832) مع أنني حددت تنسيق الحقل بالجدول الى SHORT DATE وايضا جعلت فورمات مربع النص الذي يأخذ منه عمود التاريخ في الداتا جريد بياناته جعلته بالشكل التالي TEXTBOX2.TEXT = DATE.TODAY

ثم حاولت في الكود وضع قيمته بالشكل هذا لكن تظهر رسالة خطأ

 Dim sql As String = "insert into VO1 (IDV1,NM,PRO,K,Q,S,T,D)" & _
" values('" & TextBox4.Text & "','" & TextBox1.Text & "','" & P.Value _
  & "','" & K.Value & "','" & Q.Value & "','" & S.Value & "','" & T.Value & "','" & TextBox2.Text & "')"

حيث

TextBox2.Text هو مربع النص المراد تخزينه في الجدول وحقل التاريخ بالجدول اسمه (D)

كما وقد حاولت وضعه بالشكل التالي لكن يعطيني رسالة خطأ

'"& # TextBox2.Text # &"'

لكن لافائدة ايضا ونفس الأمر يحصل ..

فلا أدري مالخلل وكيف إصلاحه وأظنه سهل يسير

المشكلة الثانية

بالشكل التالي:

عندي جدول به الحقول التالية ( IDV1,NM,P,KD,Q,S,T,D )

,

حيث تعني بالترتيب :

IDV1 = حقل الترقيم وهو ترقيم تلقائي غير متكرر طبعاً

NM = حقل الاسم ، نص

P = حقل الصنف ,نصف

KD = حقل نوع الصنف ,نص

Q = حقل الكمية , رقم

S = حقل السعر ، رقم

T = المجموع , رقم

D = حقل تاريخ الفاتورة ، تاريخ

الجدول اسمه (VO1)

قاعدة البيانات = V

المشكلة :

انني عندما اضغط على زر حفظ أريده

أن يضيف بشكل تلقائي رقم الى رقم الفاتورة السابقة في الجدول حتى لايعطي رسالة خطأ بسبب تكرار الرقم ؟!!

لكن لا أدري مالخلل العادة لا اخصص إدخال لحقل المعرف لانه تلقائياً ينشيء رقم .. لكن لا ادري مالذي يحصل معي ؟

فقمت بوضع تكست بوكس ياخذ قيمته من اخر سجل من حقل المعرف ( IDV1) في حدث تحميل الفورم بالشكل التالي :

 con.Open()
da.Fill(dataset1, "VO1")
con.Close()
Me.BindingContext(dataset1, "VO1").Position = Me.BindingContext(dataset1, "VO1").Count - 1
TextBox3.DataBindings.Add("text", dataset1, "VO1.IDV1")
TextBox4.Text = TextBox3.Text + 1

لاحظتم انه في حدث التحميل .. لذلك عندما اريد ان اضيف فاتورة جديدة في نفس الفورم لايحفظ البيانات بسبب انه لن يزيد 1 على قيمة TEXTBOX3.TEXT >> لانه يحدث فقط عند تحميل الفورم

TextBox4.Text = TextBox3.Text + 1

فما الحل بوركتم والإستغناء عن هذه العملية التي ارى ان فيها تكلف زائد وما أجمل التلقائية ..

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

post-171333-1222975230_thumb.jpg

تم تعديل هذه المشاركة بواسطة متفائل جداً في 2 أكتوبر 2008 في 22:20

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