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

الحل في اضافة الوقت في قاعدة البيانات مع تحديد الفتره مساءا ام صباحا

بدأه 8520 في 20 أغسطس 2008 · 5 رد · 989 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

هذه مشكله واجهتني وسألت عنها ولم أتوصل الى حل مع رد الأخوين علي جزاهما الله خير

AhmedElbaz وطائر العنقاء

وهاأنا اليوم بعد محاولات عده على لوحة المفاتيح أجد الحل البسيط جدا رأيته رأي العين أمامي ولم أعطه بالا

لأني لم أكن اتوقع ان في هذا السطر تستطيع ان تعمل أشياء

الحل وجدته في جملة الاستعلام الخاصه في الإضافه والان تابعوا معي الحل أين يكمن ويحتاج الى تركيز

سأبدأ معكم مع جملة الاستعلام الخاطئه :

 "INSERT INTO Taibl(m,tim) values ('" & TextBox1.Text & "','#" & TextBox2.Text & "#') "

دققوا معي في الجمله التاليه الخاصه بعمود الوقت في قاعدة البيانات (tim ) :

'#" & TextBox2.Text & "#'

هنا يظهر البرنامج خطأ يخبر فيه عن عدم تطابق نوع البيانات والسبب هو انك كتابة جملة الاستعلام في هذا الحقل بالطريقه الخاطئه فأنت تضع الشرطه (') بعدها تضع العلامه الخاصه بالوقت والتايخ (#) و حتى تصحح الجمله يجب عليك ان تحذف الشرطه من الجهتين لتصبح الجمله بالطريقه التاليه :

#" & TextBox2.Text & "#

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

"INSERT INTO Taibl(m,tim) values ('" & TextBox1.Text & "', #" & TextBox2.Text & "#)"

فتسطيع ان تضيف الوقت الذي تريده او التاريخ او معا

ولكن في هذه الحاله تواجهنا مشكله هي التي وقعت فيها قبل فتره : وهي انني لا استطيع تحديد الفتره في الوقت الذي ادخله أي لا استطيع ان احدد الفتره مساء (م ) ام صباحا (ص) حيث ان البرنامج اذا ادخلت مثلا الوقت التالي في TextBox2.Text :( 03:30:00 م ) يظهر لك رسالة خطأ مفادها ان جملة الاستعلام خاطئه

فيجب عليك حينها ان تحذف التحديد الذي وضعته ليصبح الوقت بالطريقه التاليه :

03:30:00

ربما يتساءل البعض على ماذا تصنف قاعدة البيانات الوقت المدخل بهذه الطريقه أي في أي فتره مساء (م ) ام صباحا (ص) أقول اذا ذهبت الى قاعدة البيانات بعد ادخال الوقت تجد ان القاعده صنفته على ان الفتره صباحا وهوالتصنيف الافتراضي فيكون في قاعدة البيانات :( 03:30:00 ص )

إذا فماذا نعمل يا ترى ؟

فكرت في فكره سخيفه ولكن ناجحه وهي انني بعد ادخال الوقت ان اعمل عليه تعديل فأعدل الفتره بدلا من صباحا (ص) الى مساءا (م) وقد نجحت ولكن مثل كماقلت الفكره سخيفه

والان ها أنا أزف اليكم الحل اذهب الى جملة الاستعلام واعمل التالي في نفس الجمله الخاطئه تابع :

'#" & TextBox2.Text & "#'

فبدلا من حذف الشرطه (') وابقاء علامة الوقت (#)

احذف علامة الوقت (#) وابقي على الشرطه (') لتصبح الجمله كالتالي :

'" & TextBox2.Text & "'

لتصبح جملة الاستعلام كالتالي:

"INSERT INTO Taibl(m,tim) values ('" & TextBox1.Text & "','" & TextBox2.Text & "') "

وانعم بحديد الوقت كما تريد

آسف على التطويل

اخوكم 8520

#2

:)

الف شكر 8520

معلش انا عارف انها بتيجى على اهون سبب

ولدي إليك وصيتي عهد الأسودْ

العز غايتنا نعيش لكي نسود

و عريننا في الأرض معروف الحدود

فاحم العرين و صنه عن عبث القرود

أظفارنا للمجد قد خُلقت فدى

و نيوبنا سُنَّت بأجساد العدى

و زئيرنا في الأرض مرهوب الصدى

نعلي على جثث الأعادي السؤددا

#3

مشكور على المرور يا Rashadov بس شكل الموضوع ماشد الاعضاء

#4
اقتباس
شكل الموضوع ماشد الاعضاء

مجهود ممتاز

لكن من الافضل استخدام ال PARAMETERS هتظبط كل الكلام ده و تحمي برنامجك من ال sql injection

#5

مجهود تشكر عليه

أستخدامك PARAMETERS كما ذكر الأخ أحمد الباز

يجنبك الوقوع في أخطاء SQL statmenet وسببها غالبا ('" ' &) خاصة أذا كانت المتغيرات كثيره

ويسهل

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

العلم نور وجمال يقتبس--------------- صاحبه مكرم اين ما جلس

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

#6

تشكر اخوي

AhmedElbaz

وأخوي

Al-Mohana

على المرور وجاري اتباع النصيحه

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…