(30-08-18, 11:52 PM)elgokr كتب : [ -> ]بخصوص تلك الخطاء قم بحذ علامتى #
من سطر الاستعلام وقم بتجربة الامر
واتمنى ان تكون متاكد بان نوع العمود
بقاعدة البيانات هو تاريخ وليس نص
تحياتى لك
وتمنياتى لك التوفيق
(31-08-18, 12:11 AM)عابر سبيل 2 كتب : [ -> ] (30-08-18, 11:52 PM)elgokr كتب : [ -> ]بخصوص تلك الخطاء قم بحذ علامتى #
من سطر الاستعلام وقم بتجربة الامر
واتمنى ان تكون متاكد بان نوع العمود
بقاعدة البيانات هو تاريخ وليس نص
تحياتى لك
وتمنياتى لك التوفيق
أعتقد أنه يجب استبدال علامة
# بعلامة
'
مع أنه الأفضل تمرير التاريخ باستخدام الباراميتر
لا بالعكس اخى عند البحث فى عمود من نوع تاريخ
يجب ان تمرر القيمة اما بين ## مثل
كود :
#" & TextBox1.Text & "#
او بدون العلامتي ## وتكون فقط
كود :
= CDate(TextBox1.Text)
دا اذا كان العمود من نوع تاريخ ووقت
لان علامتي ## هى نفسها جملة CDate
وسهو منى وضعتهم الاثنين معاً
والفكرة من كلاهما بحيث اى كانت الطريقة التى ستدخل بها التاريخ
هو سيقوم بمعالجتها لتحويلها من نوع تاريخ ووقت حسب الحالة
وبخصوص علامتي ' ' وهى تعنى ان القيمة المدخلة من نوع String
كانك تماما بتكتب
لكل علامة لها دور واختصار فى قواعد البيانات
تحياتى لك
وتمنياتى لك التوفيق
نوع العمود بقاعدة البيانات هو تاريخ
حذفت علامات التنصيص الكود تمااااام
هذا الكود
سلمت يداك
كود :
myconn.da = New SqlDataAdapter("Select * from woork1 Where alyowm= '" & CDate(DTP_pur1.Text) & "'", myconn.conn)
(31-08-18, 01:01 AM)عابر سبيل 2 كتب : [ -> ] (30-08-18, 11:52 PM)elgokr كتب : [ -> ]بخصوص تلك الخطاء قم بحذ علامتى #
من سطر الاستعلام وقم بتجربة الامر
واتمنى ان تكون متاكد بان نوع العمود
بقاعدة البيانات هو تاريخ وليس نص
تحياتى لك
وتمنياتى لك التوفيق
(31-08-18, 12:11 AM)عابر سبيل 2 كتب : [ -> ] (30-08-18, 11:52 PM)elgokr كتب : [ -> ]بخصوص تلك الخطاء قم بحذ علامتى #
من سطر الاستعلام وقم بتجربة الامر
واتمنى ان تكون متاكد بان نوع العمود
بقاعدة البيانات هو تاريخ وليس نص
تحياتى لك
وتمنياتى لك التوفيق
أعتقد أنه يجب استبدال علامة # بعلامة '
مع أنه الأفضل تمرير التاريخ باستخدام الباراميتر
لا بالعكس اخى عند البحث فى عمود من نوع تاريخ
يجب ان تمرر القيمة اما بين ## مثل
كود :
#" & TextBox1.Text & "#
او بدون العلامتي ## وتكون فقط
كود :
= CDate(TextBox1.Text)
دا اذا كان العمود من نوع تاريخ ووقت
لان علامتي ## هى نفسها جملة CDate
وسهو منى وضعتهم الاثنين معاً
والفكرة من كلاهما بحيث اى كانت الطريقة التى ستدخل بها التاريخ
هو سيقوم بمعالجتها لتحويلها من نوع تاريخ ووقت حسب الحالة
وبخصوص علامتي ' ' وهى تعنى ان القيمة المدخلة من نوع String
كانك تماما بتكتب
لكل علامة لها دور واختصار فى قواعد البيانات
تحياتى لك
وتمنياتى لك التوفيق
أنا أتكلم عن قاعدة بيانات SqlServer والتي يعتمد عليها صاحب الموضوع
فقاعدة بيانات SqlServer تستخدم العلامات ' ' للتاريخ ولا تقبل علامة # مثل الأكسس
بالاضافة لو استخدم الباراميترات لكان أفضل له مثل
PHP كود :
myconn.da = New SqlDataAdapter("Select * from woork1 Where alyowm=@d ", myconn.conn)
myconn.da.selectcommand.parameters.AddwithValue("@d",CDate(DTP_pur1.Text))
اهلا اخي ومشكور لمرورك
الكود تماااام هل استخدم هذة افضل؟
تحياتي لك
(31-08-18, 01:16 AM)baha كتب : [ -> ] (30-08-18, 11:52 PM)elgokr كتب : [ -> ]بخصوص تلك الخطاء قم بحذ علامتى #
من سطر الاستعلام وقم بتجربة الامر
واتمنى ان تكون متاكد بان نوع العمود
بقاعدة البيانات هو تاريخ وليس نص
تحياتى لك
وتمنياتى لك التوفيق
(31-08-18, 12:11 AM)عابر سبيل 2 كتب : [ -> ] (30-08-18, 11:52 PM)elgokr كتب : [ -> ]بخصوص تلك الخطاء قم بحذ علامتى #
من سطر الاستعلام وقم بتجربة الامر
واتمنى ان تكون متاكد بان نوع العمود
بقاعدة البيانات هو تاريخ وليس نص
تحياتى لك
وتمنياتى لك التوفيق
أعتقد أنه يجب استبدال علامة
# بعلامة
'
مع أنه الأفضل تمرير التاريخ باستخدام الباراميتر
لا بالعكس اخى عند البحث فى عمود من نوع تاريخ
يجب ان تمرر القيمة اما بين ## مثل
كود :
#" & TextBox1.Text & "#
او بدون العلامتي ## وتكون فقط
كود :
= CDate(TextBox1.Text)
دا اذا كان العمود من نوع تاريخ ووقت
لان علامتي ## هى نفسها جملة CDate
وسهو منى وضعتهم الاثنين معاً
والفكرة من كلاهما بحيث اى كانت الطريقة التى ستدخل بها التاريخ
هو سيقوم بمعالجتها لتحويلها من نوع تاريخ ووقت حسب الحالة
وبخصوص علامتي ' ' وهى تعنى ان القيمة المدخلة من نوع String
كانك تماما بتكتب
لكل علامة لها دور واختصار فى قواعد البيانات
تحياتى لك
وتمنياتى لك التوفيق
السلام عليكم
بالنسبة للتاريخ
إذا كان الحقل نوعه "Date" أو "DateTime" فإنه يعامل معاملة النص في الاستعلام لأنه يخزن التاريخ في قاعدة البيانات كنص
أي الكود التالي صحيح في حالة البحث على تاريخ يكون كما هو مخزّن في قاعدة البيانات بالتمام:
كود :
myconn.da = New SqlDataAdapter("Select * from woork1 Where alyowm='" & DTP_pur1.Text & "'", myconn.conn)
ويمكن أيضاً استخدام الكود التالي في حالة وضع جزء من التاريخ أو كامل :
كود :
myconn.da = New SqlDataAdapter("Select * from woork1 Where alyowm='%" & DTP_pur1.Text & "%'", myconn.conn)
(30-08-18, 11:52 PM)elgokr كتب : [ -> ]بخصوص تلك الخطاء قم بحذ علامتى #
من سطر الاستعلام وقم بتجربة الامر
واتمنى ان تكون متاكد بان نوع العمود
بقاعدة البيانات هو تاريخ وليس نص
تحياتى لك
وتمنياتى لك التوفيق
(31-08-18, 12:11 AM)عابر سبيل 2 كتب : [ -> ] (30-08-18, 11:52 PM)elgokr كتب : [ -> ]بخصوص تلك الخطاء قم بحذ علامتى #
من سطر الاستعلام وقم بتجربة الامر
واتمنى ان تكون متاكد بان نوع العمود
بقاعدة البيانات هو تاريخ وليس نص
تحياتى لك
وتمنياتى لك التوفيق
أعتقد أنه يجب استبدال علامة
# بعلامة
'
مع أنه الأفضل تمرير التاريخ باستخدام الباراميتر
لا بالعكس اخى عند البحث فى عمود من نوع تاريخ
يجب ان تمرر القيمة اما بين ## مثل
كود :
#" & TextBox1.Text & "#
او بدون العلامتي ## وتكون فقط
كود :
= CDate(TextBox1.Text)
دا اذا كان العمود من نوع تاريخ ووقت
لان علامتي ## هى نفسها جملة CDate
وسهو منى وضعتهم الاثنين معاً
والفكرة من كلاهما بحيث اى كانت الطريقة التى ستدخل بها التاريخ
هو سيقوم بمعالجتها لتحويلها من نوع تاريخ ووقت حسب الحالة
وبخصوص علامتي ' ' وهى تعنى ان القيمة المدخلة من نوع String
كانك تماما بتكتب
لكل علامة لها دور واختصار فى قواعد البيانات
تحياتى لك
وتمنياتى لك التوفيق
السلام عليكم
بالنسبة للتاريخ
إذا كان الحقل نوعه "Date" أو "DateTime" فإنه يعامل معاملة النص في الاستعلام لأنه يخزن التاريخ في قاعدة البيانات كنص
أي الكود التالي صحيح في حالة البحث على تاريخ يكون كما هو مخزّن في قاعدة البيانات بالتمام:
كود :
myconn.da = New SqlDataAdapter("Select * from woork1 Where alyowm='" & DTP_pur1.Text & "'", myconn.conn)
ويمكن أيضاً استخدام الكود التالي في حالة وضع جزء من التاريخ أو كامل :
كود :
myconn.da = New SqlDataAdapter("Select * from woork1 Where alyowm='%" & DTP_pur1.Text & "%'", myconn.conn)
اخي هذا الكود يعمل
myconn.da = New SqlDataAdapter("Select * from woork1 Where alyowm='" & DTP_pur1.Text & "'", myconn.conn)
كود جزء من التاريخ لا يعمل
انا استخدم للبحث داتا تايم بيكر
تحياتي لك
(31-08-18, 02:33 AM)elgokr كتب : [ -> ] (31-08-18, 01:16 AM)baha كتب : [ -> ]السلام عليكم
بالنسبة للتاريخ
إذا كان الحقل نوعه "Date" أو "DateTime" فإنه يعامل معاملة النص في الاستعلام لأنه يخزن التاريخ في قاعدة البيانات كنص
أي الكود التالي صحيح في حالة البحث على تاريخ يكون كما هو مخزّن في قاعدة البيانات بالتمام:
كود :
myconn.da = New SqlDataAdapter("Select * from woork1 Where alyowm='" & DTP_pur1.Text & "'", myconn.conn)
ويمكن أيضاً استخدام الكود التالي في حالة وضع جزء من التاريخ أو كامل :
كود :
myconn.da = New SqlDataAdapter("Select * from woork1 Where alyowm='%" & DTP_pur1.Text & "%'", myconn.conn)
وعليكم السلام ورحمة الله وبركاته
وهنا ياتى الخطاء اذا كان يقوم بتسجيل التاريخ كا نص
لان فى كل مرة قد يقوم بادخال التاريخ باشكال ختلفة
وسيكون البحث عليها بكشل مختلف عن ما سجل
قد يسجل المستخدم عن طريق mm-yyyy
والاخر قد يسجل mm/yyyy
والعكس ان يكون السنة قبل الشهر او اليوم بعد الشهر ... الخ
وسيسبب ايضاً مشكلة اذا كان مستخدم لدى جهازه هجري والاخر ميلادى
فشخص يقوم بادخال ميلادى والاخر هجري كمثال
جيجب ان يتم بناء القاعدة على اسس حتى تتجنب المشاكل مستقبلياً
تحياتى لك
وتمنياتى لك التوفيق
ما اردت ان انوة عنة انني استخدم اداة داتا تايم بيكر وليس تكست
يعني ما اقصدة التاريخ يدخل بطريقة واحدة
مشكور اخي
حلت مشكلة البحث
اشكركم جميعا
لكن يا اخواني انتبهت لمشكلة في جمع عامود في الداتا جريد واظهار الناتج بتكست بكس بنفس فورم البحث
يتم الجمع لكن لنفرض عندي مجموعة صفوف مجموع الارقام مثلا 10.5 تظهر النتيجة في التكست 11 يزيد النصف
انا استخدم الكود التالي داخل الكلاس واستدعية
كود :
dgv.DataSource = dt
Dim summ As Integer = 0
For i As Integer = 0 To dgv.RowCount - 1
summ += dgv.Rows(i).Cells(5).Value
Next
txt.Text = summ.ToString
لا يظهر النصف يقرب الجمع بزيادة نصف
يعني لو المجموع 95.5 يظهر الناتج 96
تحياتي لكم جميعا