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

كيف يمكنني الحصول علي Date و Time الخاص بالسيرفر

مغلق
بدأه sammoorraa_9999 في 23 مايو 2007 · 8 رد · 1,092 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

اخواني الاعزاء تحية طيبة وعطرة ..

كيف يمكن الحصول علي التاريخ والوقت الخاص بالسيرفر من جهاز العميل للتوضيح

عندي برنامج مصمم علي لغة البرمجة Visual Basic.net 2005 + Sql Server 2000

يعمل البرنامج علي الشبكة بحيث يوجد مستخدمين يستخدمو هذا البرنامج من اي جهاز علي الشبكة

قاعدة البيانات مثبتة علي جهاز مركزي اسمية سيرفر ومثبت علية طبعاً برنامج Sql Server 2000

عندما يدخل المستخدم علي البرنامج باسمة وكلمة المرور الخاصة بة اريد ان اجري علية بعض الخصائص للامن فذلك يطلب ان اعرف التاريخ والوقت الخاص بالسيرفر ليتم المقارنة بهذا التاريخ بعض العمليات وليس الوقت والتاريخ الخاص بالجهاز المحلي الذي ادخل منة ..

ان شاء الله تكونو فهمتو قصدي حيث اننا نستخدم الوقت والتاريخ المحلية بهذة الطريقة

Dim Date_Name As,Time_Name String

Date_Name=Now.Tostring("d") التاريخ

Time_Name=Now.Tostring("T") الوقت

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

ارجو ان تكون الفكرة واضحة ............................... ارجو الرد شكرا

sssfd8.jpg
#3

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

اخي العزيز شكرا للرد

ارجو ان توضح اكثر

لكني استخدم الsql server كقاعدة بيانات فقط وكل العمليات التي اقوم بها هي من داخل الفيجول بيسك

ولكن اكيد في دالة تعمل علي استخراج التاريخ من السيرفر التي تتصل معة من خلال قاعدة البيانات ال sql server

هل لك بأن توضح لي طريقتك ربما ساعدتني والف شكر

sssfd8.jpg
#4

قمت باستخراج التاريخ من خلال سيرفر قاعدة البيانات لانها الشيء الوحيد الموجود على السيرفر والطريقة هي كتنفيذ اي جملة SQL عادية

والمثال كما يلي :

Dim cmd As New SqlCommand
		cmd.CommandText = "select Getdate()"
		cmd.CommandType = CommandType.Text
		cmd.Connection = con

		result = cmd.ExecuteScalar()

حيث ترجع قيمة التاريخ في المتغير result

تحتاج الى تعريف con result وفتح الاتصال وما الى ذلك

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

create procedure GetServerDate 
@Curdate smalldatetime=null out

as 
set @Curdate = getdate()

وبعد  ذلك تنفذ هذا البروسيجر
#5
اقتباس
كيف يمكن الحصول علي التاريخ والوقت الخاص بالسيرفر

الذي أعتقده والله اعلم أن كل الاجهزة المرتبطة بالسيرفر متوافقة في الوقت و التاريخ وإلا لا يقبل السيرفر تضمين هذا الجهاز لو كان الوقت

لدية مختلف , هذا طبعاً بالنسبةِ للـ LAN .

يمكن أخذ الوقت من السيرفر من داخل قاعدة البيانات SQL بأن تضع الوقت و التاريخ منه

في الخاصية Default Value or Binding للحقل , ضع القيمة تساوي

(getdate())

بالتوفيق إن شاء الله.

في المثال يتضح المقال

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

لدية مختلف , هذا طبعاً بالنسبةِ للـ LAN .

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

لذلك يجب الاعتماد على getdate() من ال اس قيو ال سيرفر باي طريقة كانت

#7

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

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

اشكرك اخي TareqVB واخي الشهاب الحارق علي المشاركة لانها افادتني كثير

اقتباس
استخراج التاريخ من خلال سيرفر قاعدة البيانات لانها الشيء الوحيد الموجود على السيرفر والطريقة هي كتنفيذ اي جملة SQL عادية
اقتباس
أن كل الاجهزة المرتبطة بالسيرفر متوافقة في الوقت و التاريخ

واليكم الحل الذي توصلت الية

1- اضف الي الفورم Button و Label

2- في منطقة التعريف اكتب التالي

Imports System.Data.SqlClient

3- في حدث الكلك للButton اكتب التالي

Dim CnnData, sql As String
		Dim MyConnection As SqlConnection
		Dim MyCommand As SqlCommand
		CnnData = "Data Source=data20007;Initial Catalog=Northwind;User ID=sa;Password=1111111111;"
		Try
			MyConnection = New SqlConnection(CnnData)
			MyConnection.Open()
		Catch er As System.Data.SqlClient.SqlException
			MsgBox("نأسف ... يجب إغلاق البرنامج . تحقق من السيرفر أو الشبكة", MsgBoxStyle.Critical + MsgBoxStyle.MsgBoxRtlReading + MsgBoxStyle.OkOnly, "رسالة إغلاق")
			End
		End Try
		sql = "select Getdate()"
		MyCommand = New SqlCommand(sql, MyConnection)
		MyCommand.ExecuteNonQuery()
		Label1.Text = MyCommand.ExecuteScalar
		MyConnection.Close()

بحيث ان

data20007 : اسم السيرفر للا Sql Server

Northwind: قاعدة البيانات وهي افتراضية في Sql Server

sa : المستخدم الافتراضي في Sql Server

1111111111: الرقم السري الذي يدخل الي برنامج Sql Server عند التنصيب

وبعد التنفيذ

سوف تحصل علي النتيجة التالية

ddju9.jpg

ولكن يجب ان يكون عندك منصب علي الجهاز Sql Server 2000

اخيرا الف شكر لكم علي المشاركات المفيدة شكرا

تم تعديل هذه المشاركة بواسطة sammoorraa_9999 في 24 مايو 2007 في 12:41

sssfd8.jpg
#8

جزاك الله ألف خير و كثر من أمثالك , ليت الشباب مثلك كلما عرفوا الحل أدلوا به حتى الكل يستفيد

حقيقة هذه نظرة واسعة الافق, والنظر بالعينين أفضل بكثير من النظر بعينٍ واحدة.

كثر الله من امثالك و احييك على هذه الروح الطيبة و المتعاونة.

السلام عليكم.

في المثال يتضح المقال

#9
اقتباس
جزاك الله ألف خير

شكرا لكم اخواني علي التعاون قبل قليل انا كنت بحاجة الي المساعدة

وكان يجب علي ان اوضح الحل الذي توصلت الية بفضل تعانكم معاي

وانا اقدر هذا التعاون

وربي يجعلة في ميزان حسناتكم

شكرا لك اخي الشهاب الحارق واخي TareqVB علي سرعة الرد والتجاوب

والسلام ختام

sssfd8.jpg

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

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

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

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

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

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