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

Error Converting Data Type Varchar To Datetime

مغلق
بدأه Eng/Nesreen في 14 يناير 2008 · 4 رد · 827 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

لدى مشكلة فى ستورد بروسدير

عند تنفيذة تظهر لى الرسالة

Error converting data type varchar to datetime

وقد حاولت اعمل كونفيرت للتاريخ ولكن المشكلة مازلت قائمة لدرجة انى حذفت جملة ال

update

واعطى نفس المشكلة لمجرد تعريف البراميتير التاريخ

procedure:

SET QUOTED_IDENTIFIER ON GO
SET ANSI_NULLS ON GO

ALTER              proc dbo.updateDisbursedChecks
    @Comp_code1 int,
    @Calc_serial1 int,
    @Memb_No1  varchar(100),
    @Worker_No1 varchar(100),
    @Check_Value1 int,
    @Check_No1 varchar(100),
    @Bank_code1 int,
    @EWCase_code1 int,
    @Worker_Name1 varchar(100),
    @Birth_date1 Datetime ,
    @EndWork_Date1 Datetime

as begin

if @Comp_code1 = 0 
   set @Comp_code1=null
 if @Bank_code1 = 0
   set @Bank_code1 = null
 if @EWCase_code1 = 0
   set @EWCase_code1 = null

if @EndWork_Date1 = 0
   set @EndWork_Date1 = null

set dateformat ydm 
update DisbursedChecks set Comp_code =@Comp_code1, Calc_serial=@Calc_serial1, Memb_No=@Memb_No1, Worker_No=@Worker_No1, Check_Value=@Check_Value1, Check_No=@Check_No1, Bank_code=@Bank_code1, EWCase_code=@EWCase_code1, EndWork_Date=@EndWork_Date1 
where Worker_Name=@Worker_Name1 and Birth_date=@Birth_date1
end

GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON GO

ارجو المساعدة فى حل هذة المشكلة لان شغلى متوقف عليها

#2

أنا متأكد أن المشكلة في تنسيق التاريخ ..

سأعطيك مثال حتى تتضح الصورة عندك :

Declare @d datetime 
Set @d = '15/2/2007'
Select @d

تنفيذ العبارة السابقة معاً سيعطيك خطأ لأن التنسيق الافتراضي هو تنسيق إنكليزي : MM/dd/yyyy أقصد الشهر قبل اليوم .

ولنحل هكذا مشكلة ببساطة بعبارة بسيطة نغير التنسيق للتاريخ كالتالي :

Declare @d datetime 
Set dateformat dmy
Set @d = '15/2/2007'
Select @d

تنفيذ العبارات هذه معاً لا يعطي المشكلة السابقة ..

على فكرة كان عليك البحث في المنتدى قبل وضع سؤالك .. أرجو أن تلتزم بهذا في المرة القادمة لو سمحت .

دروس و كتب مفيدة----------------------كتيب الإجرائيات المخزنةتعرف على اللغة Transact SQL <<-->> كتيب عن تنصيب قواعد البيانات Sql Server باللغة العربية كتيب عن إنشاء قواعد البيانات في SQL Server باللغة العربية <<-->> درس مع الأمثلة عن المؤشرات و التعامل معها في الـ T-SQLالعبارات الشرطية و الحلقات في T-SQL <<-->> شرح لبعض الـ Extended Stored Procedure استخدام مكتبات الـ Dot Net الخاصة بك في الـ Sql Server 2005 <<-->> التعامل مع المصفوفات من خلال الـ T-SQLتعابير الجداول الشائعة في SQL Server 2005 <<-->>الاتصال بالأداة SQL Server Management Studioحلول سريعة و لمحات برمجية --------------------------------التصدير إلى إكسل : طريقة أولى : طريقة بسطر واحد من الكود <<-->> طريقة ثانية : طريقة تحتاج إنشاء إجرائية مخزنةً تجهيز بيانات جدول بالصيغة XML تمهيداً لحفظها كملف <<-->> تصدير البيانات إلى ملفات نصية برمجياً إغلاق جميع الإتصالات المفتوحة بقاعدة بيانات محددة .. تمهيداً لاسترجاعها أو حذفها <<-->> الاستعلام بناء على وقت مخزن بالصيغة العربية ضمن حقل نصي ..حذف السجلات المتكررة و إبقاء عدد محدد منها في جدول.. <<-->> أسرع طريقة لحذف سجلات جدول كيف احصل على اسم جهازي والباسوورد باستخدام T-SQL <<-->> حشر أنواع الصور المختلفة في حقل من نوع Image باستخدام إجرائية مخزنة .كيف تعرف أنواع الصور المخزنة في حقل من نوع Image .. <<-->> إجرائيات مخزنة ببارامترات ديناميكية مفيدة جداً للاستعلامات استخدام رقم الحقل بدلاً من الإسم في عبارات الإستعلام <<-->> من هو أضخم الجداول في قاعدة بياناتي ؟معرفة زمن تنفيذ الإجرائيات ( لتختار الطريقة الأسرع بين إجرائياتك المخزنة ) <<-->> التعامل مع الـ Rules برمجياً الحصول على آخر صف في الجدول <<-->> قراءة ملفات XML باستخدام T-SQL برمجياً (مثال مرفق)سحب بيانات ملف إكسل إلى الـ SQL Server <<-->> تشفير النسخة الاحتياطية بكلمة مرور <<-->> التخلص من البيانات المكررة <<-->> حل مشكلة التاريخ الهجريDifferential Backup بالتعريف---------- لا إله إلا الله .. محمد رسول الله

أخوكم في الله..  Imad Ozone

#3

انظري في توقيع الاخ عماد ايضا

الاستعلام بناء على وقت مخزن بالصيغة العربية ضمن حقل نصي .

فقد تكون المشكلة كما هي في المشاركة من وجود ص بدل AM و م بدل PM

#4

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

ان المشكلة ليست فى فورمات التاريخ

لانى فى جملة الupdate عملاة set dateformat ydm وذلك لان ال parameter بتتبعت بهذا الفورمات وانا لم اضع اى default value يعترض عليها الاعتراض كان لمجرد تعريف ال paramter ودى اول مرة تحدث معى

ارجو المساعدة

#5

نعم المشكلة عند تمرير القيمة وليس داخل الاجراء لذا يجب ان تتأكدي من القيمة التي ستمرر الى هذا الاجراء بحيث تكون على الشكل المناسب وكما ذكرت سابقا ان لايكون فيها ص و م بل AM & PM

وان امكن ارجو ارفاق جزء من الكود في ما يتعلق في لغة البرمجة لكيفية التمرير

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

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