تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
ما هو الحل لهذه المشكلة
#1
السلام عليكم ورحمة الله وبركاته 
إخواني أنا جالس أقوم بعملية حفظ سجل في قاعدة بيانات SQL  وكانت عملية الحفظ تتم بكل سهولة ولكن فجأة بدأ يظهر لي هذا الخطأ 
Operand type clash: date is incompatible with time
 مع العلم أن الوقت يتم أخذه من datetimepicker3  بعد أن تم تحويل القيمة فيه إلى  Time  

وهذا هو الكود المستخدم     

    Dim sqlq5 As String = "insert into Details_Table3 values(@Job,@Note2,@Day,@official_Time,@Khoroj_Time,@Emp_State1,@Details,@Note1,@Note3)"

            Dim sqlcmd5 As New SqlCommand(sqlq5, Sqlcon)

        
            sqlcmd5.Parameters.Add(New SqlParameter("@Note2", SqlDbType.NVarChar, 80) With {.Value = ComboBox2.Text})

            sqlcmd5.Parameters.Add(New SqlParameter("@Job", SqlDbType.NVarChar, 25) With {.Value = DataGridView2.CurrentRow.Cells(15).Value.ToString})

            sqlcmd5.Parameters.Add(New SqlParameter("@Day", SqlDbType.NVarChar, 50) With {.Value = DataGridView2.CurrentRow.Cells(3).Value.ToString})

           

          

            sqlcmd5.Parameters.Add(New SqlParameter("@official_Time", SqlDbType.NVarChar, 10) With {.Value = DataGridView2.CurrentRow.Cells(22).Value.ToString})

            sqlcmd5.Parameters.Add(New SqlParameter("@Khoroj_Time", SqlDbType.NVarChar, 10) With {.Value = DataGridView2.CurrentRow.Cells(57).Value.ToString})

            sqlcmd5.Parameters.Add(New SqlParameter("@Emp_State1", SqlDbType.NVarChar, 25) With {.Value = "متأخر"})

            sqlcmd5.Parameters.Add(New SqlParameter("@Details", SqlDbType.NVarChar, 50) With {.Value = ""})

         

            ''sqlcmd5.Parameters.Add(New SqlParameter("@Note3", SqlDbType.Time) With {.Value = DateTimePicker3.Value.ToShortTimeString})

                                  Sqlcon.Open()

            sqlcmd5.ExecuteNonQuery()

            Sqlcon.Close()


لكم جزيل الشكر
دمتم بود 
الرد
تم الشكر بواسطة:
#2
(15-05-22, 11:22 AM)جيولوجي مبتدئ كتب : السلام عليكم ورحمة الله وبركاته 
إخواني أنا جالس أقوم بعملية حفظ سجل في قاعدة بيانات SQL  وكانت عملية الحفظ تتم بكل سهولة ولكن فجأة بدأ يظهر لي هذا الخطأ 
Operand type clash: date is incompatible with time
 مع العلم أن الوقت يتم أخذه من datetimepicker3  بعد أن تم تحويل القيمة فيه إلى  Time  

وهذا هو الكود المستخدم     

    Dim sqlq5 As String = "insert into Details_Table3 values(@Job,@Note2,@Day,@official_Time,@Khoroj_Time,@Emp_State1,@Details,@Note1,@Note3)"

            Dim sqlcmd5 As New SqlCommand(sqlq5, Sqlcon)

        

            sqlcmd5.Parameters.Add(New SqlParameter("@Note2", SqlDbType.NVarChar, 80) With {.Value = ComboBox2.Text})

            sqlcmd5.Parameters.Add(New SqlParameter("@Job", SqlDbType.NVarChar, 25) With {.Value = DataGridView2.CurrentRow.Cells(15).Value.ToString})

            sqlcmd5.Parameters.Add(New SqlParameter("@Day", SqlDbType.NVarChar, 50) With {.Value = DataGridView2.CurrentRow.Cells(3).Value.ToString})

           

          

            sqlcmd5.Parameters.Add(New SqlParameter("@official_Time", SqlDbType.NVarChar, 10) With {.Value = DataGridView2.CurrentRow.Cells(22).Value.ToString})

            sqlcmd5.Parameters.Add(New SqlParameter("@Khoroj_Time", SqlDbType.NVarChar, 10) With {.Value = DataGridView2.CurrentRow.Cells(57).Value.ToString})

            sqlcmd5.Parameters.Add(New SqlParameter("@Emp_State1", SqlDbType.NVarChar, 25) With {.Value = "متأخر"})

            sqlcmd5.Parameters.Add(New SqlParameter("@Details", SqlDbType.NVarChar, 50) With {.Value = ""})

         

            ''sqlcmd5.Parameters.Add(New SqlParameter("@Note3", SqlDbType.Time) With {.Value = DateTimePicker3.Value.ToShortTimeString})

                                  Sqlcon.Open()

            sqlcmd5.ExecuteNonQuery()

            Sqlcon.Close()


لكم جزيل الشكر
دمتم بود 

أخى جيولوجي مبتدئ
ياريت تضع المشروع أو الجزء الخاص بهذه المشكلة لفحصه .. تقبل تحياتى
الرد
تم الشكر بواسطة: ابراهيم ايبو , w-asem , جيولوجي مبتدئ
#3
السلام عليكم ورحمة الله وبركاته 
 شكراً لك أخي الدكتور ياسر 
أولاً أعتذر عن تأخري في الرد عليك  
ثانياً حاولت رفع الملف ولكن يظهر لي خطأ يرفض رفع الملف عموماُ هذه صورة للجدول الذي أريد أن أحفظ فيه البيانات وللمعلومية كل البيانات التي أريد حفظها في هذا الجدول من الداتاقريد فيو عبارة Nvarchar  ماعدا ثلاث سجلات أحدها يأخذ قيمته من DateTimepicker1   والثاني يأخذ قيتمه من DateTimepicker2  وهما عبارة عن تاريخ فقط  أما الثالث فيأخذ قيمته من DateTiempicker3   وهو عبار عن وقت 

آسف لكون طريقة السؤال غير جيدة وذلك بسبب عدم قدرتي على رفع الملف 
والصورة المرفقه هي عبارة عن تركيبة للجدول Details_Table  المراد الحفظ بداخله

لك جزيل الشكر 
دمت بود

هذه هي صورة مبسطة للواجهة


الملفات المرفقة صورة/صور
       
الرد
تم الشكر بواسطة: w-asem
#4
أخى الفاضل جيولوجي مبتدئ

خالص تحياتى
توجد أكثر من نقطة أود ذكرها :
أولا : المشكلة لديك تكمن فى Operand type clash: date is incompatible with time   
أى أن نوع الـ Data Type فى الـ DB غير متوافق و لا يتناسب مع المدخل اليه من سجل وقتى زمنى
و ضرورى أن تلاحظ أن التعامل بين السجلات المدخلة الى قواعد بيانات SqlServer  لابد أن تكون متوافقة و منسجمة معها 100
و أنا تعرضت لسنوات مع هذه المشكلة الى أن وفقنى الله عز وجل فى التعامل معها لاسيما مع برامج صممتها للشركات للحضور و الانصراف
فالأمر يا أخى ليس كالأكسيس الذى يمشى على هوانا برمجيا فقواعد بيانات SqlServer قوية و محترمة و سريعة و لكنها تعلن غضبها للمبرمج اذا غفل عن احترام الـ polices الخاصة بها ..

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

Operand type clash

ثالثا : الحل هو :

كود :
[ActiveDateFrom] ,  
[ActiveDateTo] ,

You need to use the same datatype for your parameters,

@ActiveDateFrom   Time =NULL,
@ActiveDateTo      Time =NULL,
 
رابعا و أخيرا و ليس آخرا : جرب الحل الذى وضعته و هو من ميكروسوفت كما ذكرت و ان لم يجدى فهناك ضرورة لرفع ملف mdf , ldf و جزء المشروع الموجود به المشكلة حتى لو على أى سيرفر ووضع الرابط أو ارساله لى فى رسالة لتركيبه لدى على السيرفر عندى و حل المشكلة ان شاء الله

تقبل تحياتى و بالتوفيق 
و اسمح لى أستعير كلماتك الرقيقة : 
لكم جزيل الشكر
دمتم بود 
الرد
#5
السلام عليكم ورحمة الله وبركاته 
دكتور ياسر سرعة ردك تذهلني وتخجلني 
بالنسبة لنوع البيانات بالتأكيد هذا شيء مهم وأنواع البيانات متطابقة مع البيانات المدخلة وقد راعيت هذا الموضوع وكانت عملية الحفظ بهذا الكود تتم 100\100 ولكن فجأة ظهر هذا الخطأ بدون سابق إنذار

وسأقوم بمراجعة الحل الذي وضعته وأعطيك النتيجة

لك جزيل الشكر 
دمت بود
الرد
تم الشكر بواسطة: w-asem
#6
بعد اذن اخي الدكتور ياسر

جرب هذا الكود
كود :
Dim sqlq5 As String = "insert into Details_Table3(Job,@Note2,Day,official_Time,Khoroj_Time,Emp_State1,Details,Note1,Note3)values(@Job,@Note2,@Day,@official_Time,@Khoroj_Time,@Emp_State1,@Details,@Note1,@Note3)"

Dim sqlcmd5 As New SqlCommand(sqlq5, Sqlcon)

sqlcmd5.Parameters.AddWithValue("@Note2",ComboBox2.Text)

sqlcmd5.Parameters.AddWithValue("@Job",DataGridView2.CurrentRow.Cells(15).Value.ToString)

sqlcmd5.Parameters.AddWithValue("@Day",DataGridView2.CurrentRow.Cells(3).Value.ToString)

sqlcmd5.Parameters.AddWithValue("@official_Time",DataGridView2.CurrentRow.Cells(22).Value.ToString)

sqlcmd5.Parameters.AddWithValue("@Khoroj_Time",DataGridView2.CurrentRow.Cells(57).Value.ToString)

sqlcmd5.Parameters.AddWithValue("@Emp_State1","متأخر")

sqlcmd5.Parameters.AddWithValue("@Details","")

sqlcmd5.Parameters.AddWithValue("@Note3",DateTimePicker3.Value)
الرد
تم الشكر بواسطة: جيولوجي مبتدئ
#7
sqlcmd5.Parameters.AddWithValue("@Note3",DateTimePicker3.Value.ToString("hh:mm"))

كود :
  Dim sqlq5 As String = "insert into Details_Table3 values(@Job,@Note2,@Day,@official_Time,@Khoroj_Time,@Emp_State1,@Details,@Note1,@Note3)"
       Dim sqlcmd5 As New SqlCommand(sqlq5, Sqlcon)
       sqlcmd5.Parameters.Add(New SqlParameter("@Note2", SqlDbType.NVarChar, 80) With {.Value = ComboBox2.Text})
       sqlcmd5.Parameters.Add(New SqlParameter("@Job", SqlDbType.NVarChar, 25) With {.Value = DataGridView2.CurrentRow.Cells(15).Value.ToString})
       sqlcmd5.Parameters.Add(New SqlParameter("@Day", SqlDbType.NVarChar, 50) With {.Value = DataGridView2.CurrentRow.Cells(3).Value.ToString})
       sqlcmd5.Parameters.Add(New SqlParameter("@official_Time", SqlDbType.NVarChar, 10) With {.Value = DataGridView2.CurrentRow.Cells(22).Value.ToString})
       sqlcmd5.Parameters.Add(New SqlParameter("@Khoroj_Time", SqlDbType.NVarChar, 10) With {.Value = DataGridView2.CurrentRow.Cells(57).Value.ToString})
       sqlcmd5.Parameters.Add(New SqlParameter("@Emp_State1", SqlDbType.NVarChar, 25) With {.Value = "متأخر"})
       sqlcmd5.Parameters.Add(New SqlParameter("@Details", SqlDbType.NVarChar, 50) With {.Value = ""})
       sqlcmd5.Parameters.Add(New SqlParameter("@Note3", SqlDbType.Time) With {.Value = DateTimePicker3.Value.ToString("hh:mm")})
       Sqlcon.Open()
       sqlcmd5.ExecuteNonQuery()
       Sqlcon.Close()
الرد
تم الشكر بواسطة: جيولوجي مبتدئ
#8
السلام عليكم ورحمة الله وبركاته 
الشكر لكم فرداً فرداً على تفاعلكم في الرد وقد استفدت من ردودكم وتعلمت منها أشياء جدبدة  
الخطأ كان في جملة Insert  حيث كانت البارمترات نفس Data Tybe  ولكني وجدت البارامترات غير مرتبة حسب تسلسل قاعدة البيانات وعندما قمت بترتيبها تم المطلوب على أكمل وجه 

أكرر شكري على مروركم وتفاعلكم جعلها الله في ميزان حسناتكم 

لكم جزيل الشكر 
دمتم بود
الرد
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  ماهى المشكلة فى كود صلاحيات المستخدم حماده ممدوح البحيرى 3 141 14-05-22, 07:32 AM
آخر رد: سعود
  [سؤال] التحديث من خلال الـ DropBox متوقف ما الحل؟ abomo3ath 1 150 06-05-22, 09:11 PM
آخر رد: سعود
  البار كود المنتج لا يقراء من جهاز الباركود [تم الحل] Rabeea Qbaha 4 5,301 01-11-21, 12:48 AM
آخر رد: أشرف كريم 2
  [ تمّ الحل ] : تعديل على نص المخرجات لأوامر Command AT عبد العزيز البسكري 3 676 20-10-21, 07:24 PM
آخر رد: عبد العزيز البسكري
  السلام عليكم ممكن اعرف اى سبب المشكلة وحلها ؟ AhmedRamadan 13 1,605 03-10-21, 08:01 PM
آخر رد: asemshahen5
  استفسار بخصوص اخذ نسخه احتياطيه(تم الحل)مشكور اخوانى (waw والاخ asemshahen5) خالد كامل1 18 1,903 07-09-21, 09:45 PM
آخر رد: waw
  ممكن مساعدة بخصوص المشكلة هدي Ofealas 4 991 13-07-21, 07:51 PM
آخر رد: Ofealas
  طلب بسيط من احبتى فى الله المتميزين وسهل تم الحل عن طريق (ابو انس +mrfenix93) خالد كامل1 5 1,265 05-07-21, 09:21 PM
آخر رد: ابو انس
  كيف ازيد ارتفاع سطر في داتا جريد فيو-تم الحل بواسطة /ابوانس/ خالد20 2 613 25-06-21, 12:58 PM
آخر رد: خالد20
  [تم الحل] اضافة صورة لقاعدة البيانات اكسس anes 2 927 12-06-21, 02:16 AM
آخر رد: anes

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم