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

كيف تستخدم الدالة DATEDIFF في DataSet

مغلق
بدأه طاااير في 22 يناير 2007 · 7 رد · 2,695 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

السؤال الاساسي

اريد استخدام الدالة DATEDIFF في الداتا سيت

بحيث يكون الفرق بين تاريخ اليوم وتاريخ قد مضى مثل تاريخ الميلاد

فهل يمكنني عمل ذلك

سوال ماهي الدالة التي تعطي التاريخ الحالي في اكسس

مثلا في الاسكيول سيفر GetDate() مانظيرها في الاكسس وفي داتا سيت

#2

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

الموضوع بسيط جدا ان شاء الله

مثال فى حالة الرغبة فى العثور عن الفرق بين تاريخ نكتب الكود التالى فى جملة ال sql

SELECT DATEDIFF(day,'1980-01-12', getdate())

الناتج اجمالى الفرق بين التاريخين باليوم

اما فى حالة الرغبة فى الحصول عن الفرق عن طريق الشهر نكتب الجملة التالية

SELECT DATEDIFF(month,'1980-01-12', getdate())

اما فى حالة الرغبة فى الحصول عن الفرق بالسنوات نكتب الكود التالى

SELECT DATEDIFF(year,'1980-01-12', getdate())

بالنسبة للكود عن طريق الدت نت يكون بالشكل التالي

	Dim sql As String
		sql = "SELECT  EmployeeID, LastName, BirthDate, DATEDIFF(year, BirthDate, GETDATE()) AS age FROM Employees "
		Dim da As New SqlClient.SqlDataAdapter(sql, SqlConnection1)
		Dim ds As New DataSet
		da.Fill(ds)
		Me.DataGrid1.DataSource = ds

بالنسبة لنظير GetDate فى الاكسس مع الاسف انا لا اجيد التعامل مع الاكسس ان شاء الله تحصل على الرد من اهل الخبرة فى الموضوع

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

{وَاتَّقُواْ يَوْمًا تُرْجَعُونَ فِيهِ إِلَى اللّهِ ثُمَّ تُوَفَّى كُلُّ نَفْسٍ مَّا كَسَبَتْ وَهُمْ لاَ يُظْلَمُونَ} (281) سورة البقرة

br17.gif

برنامج الإتصلات الإدارية والارشيف الالكتروني

برنامج الخبير لنقاط البيع المباشرة

#3

شكرا لك اخي الكريم

لكن المشكله ليست في كيف استخدم الداله

المشكله هي كيف يمكنني استخدامها في الداتا سيت وسبب السؤال هو ان قاعدة البيانات من النوع اكسس

#4

استخدمت هذه الجمله في كويري في الاكسس ونجحت

  SELECT EmployeeID, FirstName, LastName, BirthDate, DATEDIFF(yyyy, BirthDate,date()) AS no_of_days FROM(employees)

مع العلم انه عند التنفيذ طلب مني ادخال البارمتر Enter Parameter value وهو اي interval وهو yyyy مع انه موجود في الجمله السابقة

لكن عند استخدامها على الدون نت vb.net 2003 يظهر هذا الخطأ

اقتباس
An unhandled exception of type 'System.Data.OleDb.OleDbException' occurred in system.data.dll

في سطر ملء الداتا ست

 

Da.Fill(Dss, "T")

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

Dim Da As OleDb.OleDbDataAdapter("SELECT EmployeeID, FirstName, LastName, BirthDate, DATEDIFF(yyyy, BirthDate,date()) AS no_of_days FROM(employees)",Me.OleDbConnection1)

Da.Fill(Dss, "T")

Me.DataGrid1.DataSource = Dss

Me.DataGrid1.DataMember = "T"

تم تعديل هذه المشاركة بواسطة طاااير في 22 يناير 2007 في 23:25

#6

السلام عليكم,,,

قم بتمرير البارميتر كالتالى

Dim Da As New OleDb.OleDbDataAdapter("SELECT EmployeeID, FirstName, BirthDate, DATEDIFF(yyyy, BirthDate,date()) AS Age FROM(employees)", Me.OleDbConnection1)
		Da.SelectCommand.Parameters.Add("yyyy", OleDb.OleDbType.Char, 4).Value = "yyyy"


		Da.Fill(Ds, "Employees")
		Me.DataGrid1.DataSource = Ds
		Me.DataGrid1.DataMember = "Employees

"

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

#7

جزاكم الله خير اخي SOLO.NET واخي waleedhm

على مساعدتكما

#8

مالعمل اذا كان التاريخ بالهجري

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

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

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