منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : مساعدة في حل sqlite add datetime مشكلة
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
لا يمكنني اضافة او عرض التاريخ في خانة التاريخ في الداتقريد فيو  مع قاعدة بيانات  sqlite مع اني مع الاكساس لا أجد مشكلة ممكن حل هدا الكود الدي استعمله

Public Sub Info_ETABLISSEMENTupdate()

        Dim cmd As New SQLiteCommand("Update Info_ETABLISSEMENT SET Email=@ADD_Email,année_ov=@année_ov ", conn2Acess2007)

        
        I cmd.Parameters.Add("@N_TEL", SqlDbType.VarChar).Value = InfoETABLISSEMENT.TextBox12.Text.Trim
        cmd.Parameters.Add("@ADD_Email", SqlDbType.VarChar).Value = InfoETABLISSEMENT.TextBox13.Text.Trim
        cmd.Parameters.Add("@année_ov", SqlDbType.DateTime2).Value = InfoETABLISSEMENT.DateTimePicker1.Value
يجب أن تحدد السجل الذي تريد تحديثه وذلك من خلال WHERE (تمت إضافتها)
كود :
Public Sub Info_ETABLISSEMENTupdate()

   Dim cmd As New SQLiteCommand("Update Info_ETABLISSEMENT SET Email=@ADD_Email,année_ov=@année_ov Where N_TEL=@N_TEL", conn2Acess2007)


   cmd.Parameters.AddWithValue("@N_TEL", InfoETABLISSEMENT.TextBox12.Text.Trim)
   cmd.Parameters.AddWithValue("@ADD_Email", InfoETABLISSEMENT.TextBox13.Text.Trim)
   cmd.Parameters.AddWithValue("@année_ov", InfoETABLISSEMENT.DateTimePicker1.Value)
نعم لكن المشكلة ليست في هدا الامر لكن في  نوع الخانة يعني مستحيل اقوم بغدخال نوع datatime  يمكنني ادخال اي نوع من البيانات لكن التاريخ لا يمكن هده المشكلة تحدت فقط مع قاعدة بيانات  sqlit ولا تحدت مع الاكسس يعني هدا السطر لا يمكن تنفيده واخال المعلومات في الداتا   cmd.Parameters.AddWithValue("@année_ov", InfoETABLISSEMENT.DateTimePicker1.Value)
اذا التاريخ مع الوقت مع التاريخ استبدل هذا السطر
كود :
cmd.Parameters.AddWithValue("@année_ov", InfoETABLISSEMENT.DateTimePicker1.Value.ToString("yyyy-MM-dd HH:mm:ss", Globalization.CultureInfo.InvariantCulture))

وإذا أردت التاريخ فقط استبدل هذا السطر
كود :
cmd.Parameters.AddWithValue("@année_ov", InfoETABLISSEMENT.DateTimePicker1.Value.ToString("yyyy-MM-dd", Globalization.CultureInfo.InvariantCulture))
انا لا أريد نوع البيانات  text بل اريدها  date  لاني ارتب الصفوف في الداتا حسب التاريخ كدلك مع الكريستال ربورت ممكن الكود لو سمحت
شاهد الفيديو التالي
https://www.youtube.com/watch?v=nmOVzhR8...dex=3&t=0s



لم اجد الحل شكرا لجميع الامشاركين
إقتباس :
2.2. Date and Time Datatype
SQLite does not have a storage class set aside for storing dates and/or times. Instead, the built-in Date And Time Functions of SQLite are capable of storing dates and times as TEXT, REAL, or INTEGER values:
  • TEXT as ISO8601 strings ("YYYY-MM-DD HH:MM:SS.SSS").

  • REAL as Julian day numbers, the number of days since noon in Greenwich on November 24, 4714 B.C. according to the proleptic Gregorian calendar.

  • INTEGER as Unix Time, the number of seconds since 1970-01-01 00:00:00 UTC.
Applications can chose to store dates and times in any of these formats and freely convert between formats using the built-in date and time functions.

https://www.sqlite.org/datatype3.htm


و هناك دوال يمكنك من خلالها تحويل النص المحفوظ فى قاعدة البيانات الى تاريخ 
لتتعامل معه بالشكل المعتاد لديك 

إقتباس :Date And Time Functions
SQLite supports five date and time functions as follows:

  1. date(timestring, modifier, modifier, ...)

  2. time(timestring, modifier, modifier, ...)

  3. datetime(timestring, modifier, modifier, ...)

  4. julianday(timestring, modifier, modifier, ...)

  5. strftime(format, timestring, modifier, modifier, ...)


https://sqlite.org/lang_datefunc.html

او يمكنك ارفاق مثال للمشكلة لديك ليتم التطبيق عليه
(02-08-18, 10:56 PM)annaba2015 كتب : [ -> ]لم اجد الحل شكرا لجميع الامشاركين


ضع مشروعك لمعرفة الحل للمشكلة
(02-08-18, 09:06 PM)annaba2015 كتب : [ -> ]لا يمكنني اضافة او عرض التاريخ في خانة التاريخ في الداتقريد فيو  مع قاعدة بيانات  sqlite مع اني مع الاكساس لا أجد مشكلة ممكن حل هدا الكود الدي استعمله

Public Sub Info_ETABLISSEMENTupdate()

        Dim cmd As New SQLiteCommand("Update Info_ETABLISSEMENT SET Email=@ADD_Email,année_ov=@année_ov ", conn2Acess2007)

        
        I cmd.Parameters.Add("@N_TEL", SqlDbType.VarChar).Value = InfoETABLISSEMENT.TextBox12.Text.Trim
        cmd.Parameters.Add("@ADD_Email", SqlDbType.VarChar).Value = InfoETABLISSEMENT.TextBox13.Text.Trim
        cmd.Parameters.Add("@année_ov", SqlDbType.DateTime2).Value = InfoETABLISSEMENT.DateTimePicker1.Value


اخى الحبيب annaba2015

فى البداية بخصوص عمود الـ année_ov
حتى يتم ادخال بيانات الوقت والتاريخ فالاعتماد الرئيسي هو نوع العمود بقاعدة البيانات
لنقول انك معتمد ان نوع العمود هو وقت وتاريخ وتريد ان تقوم بالتالى

أذا كنت تريد ادخال التاريخ فقط تاتى بهذا السطر
كود :
       cmd.Parameters.Add("@année_ov", SqlDbType.DateTime2).Value = InfoETABLISSEMENT.DateTimePicker1.Value

واستبدله بالتالى
كود :
       cmd.Parameters.Add("@année_ov", SqlDbType.Date).Value = InfoETABLISSEMENT.DateTimePicker1.Value.ToString("MM-dd-yyyy")

اذا كنت تريد ان يكون الوقت والتاريخ كاملاً فقط اجعله بهذا الشكل
كود :
       cmd.Parameters.Add("@année_ov", SqlDbType.Date).Value = InfoETABLISSEMENT.DateTimePicker1.Value

أو
كود :
       cmd.Parameters.Add("@année_ov", SqlDbType.DateTime).Value = InfoETABLISSEMENT.DateTimePicker1.Value

تذكر ان يعتمد الامر على نوع العمود بقاعدة البيانات
فيجب الانتباه الى هذا الامر...

تحياتى لك
وتمنياتى لك التوفيق