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

اريد عمل استعلام بتاريخ معين

مغلق
بدأه m_ageeb في 13 يناير 2006 · 3 رد · 3,236 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السادة الاعضاء و المشرفين

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

وكل عام وانت بخير

انا اقوم بتصميم برنامج يعمل على visual basic

وقاعدة بيانات sql server

اريد عمل استعلام بتاريخ معين وعندما ادخل الاوامر تظهر هذه الرسالة

اقتباس
-------------------------------------------------------------------------------------------------------------------

run time errore '-2147217913 (80040e07)'

[microsft] [ODBC SQL SERVER DRIVER]

[SQL SERVER]
THE CONVERSION OF CHAR DATA TYPE TO DATETIME DATA RESULTED IN AN OUT OF RANG DATETIME
-------------------------------------------------------------------------------------------------------------------
وهذا الجزء قد يفيدكم في حل المشكلة
SQL="select * from car_arch where (date_del between ' " & cdate(date1.text) & " '  and ' " & cdate(date2.text) & " ' ) "

set myrepo = new adodb.recordset
myrepo.open sql,mycon

مع العلم ان جميع الاستعلامات النصية تعمل بصورة صحيحة عدا الاستعلام بتاريخ

الرجاء من يملك العلم والمعرفة في هذا المجال افادتنا

شاكرين حسن تعاونكم معنا

ممنوع وضع الإيميل او طلب مساعدة على الايميل

تعلم فليس المرء يولد عالما ولا اخو علم كمن هو جاهلو

------------------------------------------------------------

~¤ô_ô¤~ AGEEB SOFT~¤ô_ô¤~

ageeb2000@hotmail.com

#2

جرب بدون single qutation (') لأن ال (') يجب أن يكون بداخله varchar ولا يمكن تحويل الvarchar إلى datetime

وهذا هو معنى رساله الerror

SQL="select * from car_arch where (date_del between  " & cdate(date1.text) & "    and  " & cdate(date2.text) & " ) "

وفقك الله

أختك enjy

يا حى يا قيوم برحمتك أستغيث اصلح لى شأنى كله ولا تكلنى إلى نفسى طرفة عين

اللهم أعنا على ذكرك وشكرك وحسن عبادتك

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

اللهم إنى أسألك رضاك والجنة وأعوذ بك من سخطك والنار

اللهم إرحمنا فوق الأرض وإرحمنا تحت الأرض وإرحمنا وإعتق رقابنا يوم العرض

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

اللهم انى أسألك موجبات رحمتك وعزائم مغفرتك والسلامة من كل إثم والغنيمة من كل بر والفوز بالجنة و النجاة من النار اللهم أمين يا رب العالمين

#3

الأخ m_ageeb

كيف تمرر التاريخ؟

هل بصيغة DD/MM/YYYY أم بصيغة MM/DD/YYYY ؟

إذا كان بالصيغة الأولى فستظهر رسالة الخطأ

THE CONVERSION OF CHAR DATA TYPE TO DATETIME DATA RESULTED IN AN OUT OF RANG DATETIME

عندما يقرأ تاريخاً مثل 21/10/2005 فسيقرأه على أنه 10/21/2005، وبالطبع لا يوجد شهر رقمه 21، وهذا ما يقصده ب out of range datetime

وبالتالي تلزمك دالة لتحويل الصيغة، وبما أنك تستعمل VB6 فيلزمك استعمال الدالة format، وقد تحدثنا عنها كثيرا في هذا القسم وفي ارشيفه، ابحث عنها.

الأخت enjyshahin

اقتباس
ولا يمكن تحويل الvarchar إلى datetime

بل يمكن التحويل، وذلك عبر الدالتين convert و cast

مثلا:

SELECT CAST('12/10/2006 12:35:29.998' AS datetime)

SELECT CONVERT(datetime, '21/10/2005', 103)

وقد تحدثنا أيضا أكثر من مرة عن هاتين الدالتين في هذا القسم وإرشيفه.

:)

تم تعديل هذه المشاركة بواسطة walcom في 14 يناير 2006 في 21:50

فكر بطريقة أخرى

#4

اخى walcom

اقتباس
ولا يمكن تحويل الvarchar إلى datetime

لم أقصد انه لا يمكن التحويل عامة ولكنى أقصد انه لا يمكن التحويل بإستخدام الsingle qutation

وشكرا

يا حى يا قيوم برحمتك أستغيث اصلح لى شأنى كله ولا تكلنى إلى نفسى طرفة عين

اللهم أعنا على ذكرك وشكرك وحسن عبادتك

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

اللهم إنى أسألك رضاك والجنة وأعوذ بك من سخطك والنار

اللهم إرحمنا فوق الأرض وإرحمنا تحت الأرض وإرحمنا وإعتق رقابنا يوم العرض

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

اللهم انى أسألك موجبات رحمتك وعزائم مغفرتك والسلامة من كل إثم والغنيمة من كل بر والفوز بالجنة و النجاة من النار اللهم أمين يا رب العالمين

هذا الموضوع مغلق.

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