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

استفسار بالنسبه لتخزين الوقت DATATIME

بدأه .::ICe-AA::. في 3 يوليو 2011 · 11 رد · 758 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

عندي حقل نوعه smalldatatime

عندما اريد حفظ الوقت في الحقل لكل مشاركه جديده اضيفت في المنتدى

استخدم الأمر

DateTime.Now

هل هذا الأمر يخزن الوقت من جهاز المستخدم أو من السيرفر

اذا من جهاز المستخدم فيمكن للمستخدم التلاعب بالوقت في جهازه فمالحل؟؟

#2

أخي هذي جملة دوت نت ....مش سيكوال سيرفر

الكود حيتنفذ على جهاز المستخدم ...ممكن تحل المشكله في permission للويندوز او في حالة وضع البرنامج على domain ومنع المستخدم من تعديل الوقت

فلسطين .. سوريا ..بورما ......وماذا بعد ؟!

سابقا

medo_programming

موقعي : www.alkhayat-it.com

مواضيع مهمه

-----------------------------------------------:

تعلم كل شىء عن الTriggers

#3

جزاك الله خير أخوي

بس هل في طريقة يقرأ الوقت من السيرفر

قرأت في موضوع انه يمكن وضع Default Values or binding لهذا الحقل getdate()

حيث يقرأ الوقت تلقائيا عند انشاء الصف........لكن للأسف لم يعمل معي

تم تعديل هذه المشاركة بواسطة .::ICe-AA::. في 3 يوليو 2011 في 22:02

#4

طيب جرب انك تعمل default constraint على الحقل حق التاريخ ....بدلا من ادخالة من كود الدوت نت

فلسطين .. سوريا ..بورما ......وماذا بعد ؟!

سابقا

medo_programming

موقعي : www.alkhayat-it.com

مواضيع مهمه

-----------------------------------------------:

تعلم كل شىء عن الTriggers

#5

أخوي حالوت ابحث عن default constraint...للأسف ماوصلت لشي

اذا ممكن اخوي بس تقوللي كيف ممكن اعملها

للمعلومة انا استخدم sql server من asp.net

وجزاك الله خير

#6

نفذ هذا الكود على الجدول اللي بتضع به البيانات

alter table dbo.test
add constraint serverTime default getdate() for [time]

test ===اسم الجدول

[time]==== إسم حقل الوقت

فلسطين .. سوريا ..بورما ......وماذا بعد ؟!

سابقا

medo_programming

موقعي : www.alkhayat-it.com

مواضيع مهمه

-----------------------------------------------:

تعلم كل شىء عن الTriggers

#7

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

اخي قم بتحرير الجدول سوى من الفجوال ستديو او من ال SQL Server Management Studion وقم باختيار الحقل المعني ومن قائمة الخصائص ابحث عن Default value or Binding وقم باسناد ()GETDATE كقيمة لها

.:: Wish to become better and better ::.

#8

أخوي VB Helper جزاك الله خير

اقتباس
قرأت في موضوع انه يمكن وضع Default Values or binding لهذا الحقل getdate()

حيث يقرأ الوقت تلقائيا عند انشاء الصف........لكن للأسف لم يعمل معي

أخوي medo جزاك الله خير

أجرب وارد لك خبر إن شاء الله

الله يعطيكم العافية

#9

السلام عليكم

القيمة الافتراضية للحقل تستخدم عند عدم وضع قيمة للحقل في جملة الادخال

على سبيل المثال

تنفيذ الجملة التالية

insert into table1(id,somedate) values (5,'2011-06-01')

حيث يتم ادخال التاريخ 2011-06-01

وتنفيذ الجملة التالية

insert into table1(id) values (5)

حيث يتم وضع التاريخ الافتراضي وهو تاريخ اليوم

بالتالي في حالة الاعتماد على القيمة الافتراضية للحقل يجب عدم اسناد قيمة التاريخ من جهاز الكلينت .

وو يمكن معرفة تاريخ ووقت السيرفر من خلال الجملة التالية :

 Dim con As New SqlClient.SqlConnection
        con.ConnectionString = "Data Source=.;Initial Catalog=db;Integrated Security=True"
        con.Open()
        Dim cmd As New SqlClient.SqlCommand
        cmd.Connection = con
        cmd.CommandText = " select getdate()"
        Dim serverdate = Date.Parse(cmd.ExecuteScalar)
#10

المعذره ياأخوان

انا استخدم Linq to SQL التي لديها مشكلة مع GetDate()

وجدت أحد الحلول وهو وضع الجملة التالية في DataContext

Function(Name="GetDate", IsComposable=true)]

    public DateTime GetServerDate()

    {

       return (DateTime)this.ExecuteMethodCall(this, (MethodInfo)MethodBase.GetCurrentMethod(), null).ReturnValue;

    }

ولكن عند تشغيل الموقع دائما تكون القيمة

- {1/1/0001 12:00:00 AM}

#11

إعمل طريقة الdefault من قاعدة البيانات أفضل شىء وليس من كود الC#

فلسطين .. سوريا ..بورما ......وماذا بعد ؟!

سابقا

medo_programming

موقعي : www.alkhayat-it.com

مواضيع مهمه

-----------------------------------------------:

تعلم كل شىء عن الTriggers

#12

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

اخي يمكنك عمل تنسيق للتاريخ والوقت في العرض باستخدام الاجراء ToLongDateString او ToSmallDateString

.:: Wish to become better and better ::.

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