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

استدعاء دالة في جملة select

مغلق
بدأه Romantic_touch في 14 مايو 2006 · 18 رد · 1,144 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

لدي جملة select ترجع قيمة التاريخ ميلادي ولدي دالة تحوله هجري فكيف استطيع ان احوله اثنا اجراء عمليه البحث لكي اعرضه في داتا قريد؟

مثال

select changedate(datefiled) as hd from mytable

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#2

حسب مافهمت ياسيد

يجب عليك وضع دالة تحويل التاريخ الهجري بعد الخروج من جملة select ..

ثم تجعل الدالة ترسل القيمة النهائية ..

والله اعلم

#3

خليني اشرح لك اكتر

الحين انا بقرا بيانات من قاعدة البيانات وبعدين بعرضها في داتا قريد

سويت جملة الselect وبعدها عبيت adabter وبعدين عرضتها !! وين تبغاني اغير بعد ما اخرج من الجملة زي ماتقول؟

اعتقد فيه طريقة تقدر منها على طول تحول القيمة باستدعاء دالة من نفس select !!

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#4

وين مكان الدالة changedate

هل هي في قاعدة البيانات ام في البرنامج؟؟

من سجن عكا وطلعــت جنـازة...

محمد جمجوم و فؤاد حجـازي

جازي عليهم يا شعبــي جازي...المندوب السامي وربعه عموما

محمد جمجوم ومع عطا الزير...فؤاد حجـــــــــازي عز الذخيـره

فلـسطـين

#5

السلام عليكم

أنا جت في بالي فكرة >>> يمكن فيه أحسن منها خاصة لأني ما زلت في مرحلة تمهيدي في البرمجة !!

فكرتي هي إنك تضيف حقل في الجدول وتخلي نوعه نص

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

ينفع كذا ؟!

تمنياتي بالتوفيق ؛؛ :)

{ وقل رب زدني علماً }

#6

مكان الدالة طبعا في البرنامج

اما بخصوص اضافة حقل فهذا ما اهرب منه انا ولا أريده لأن التاريخ الهجري يحتاج بعض الأحيان الى اعادة اعداد بسب اختلاف النظام مع التاريخ الحقيقي

طيب خليني اسوي مثال بسيط

عندي حق بقيمة التاريخ ميلادي وانا ابغى اعرضه في الداتا قريد هجري

فما اريد ان اعمله هو التالي

select changedate(birthday) from mytable

.

.

.

.

.

private function changedate(byval dt as sdate) as string

changedate = tohijri(dt)

end function

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

وضحت؟

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#7

طبعا ما في أي طريقة لانك تضيف دالة في Select

والسبب انه الدالة من ضمن مكونات الفيجوال بسك يعني يحتاج عملها بعض المكونات dll ميلا الموجودة في الفريم وورك .. أما الSelect فراح تجيب لك البيانات من قاعدة البيانات وهذي القاعدة أكيد لا تحتوي على هذي الملفات الخاصة

الحل كما أعتقد مثل ما ذكروا الاخوان في عمل حقل يحفظ التاريخ بالهجري في قاعدة البيانات وهناك دوال تعمل لك هذي الطريقة بسهولة (( فلماذا الخوف ))

#9

أخ عمر العمودي شكرا على الحل وانا اعرف انه يمكن ادخال دالة في select اذا كانت هذه الدالة اصلا من يبئة VB اما الدوال الخارجية فلم اصل لحل حتى الآن

الأخوان بخصوص اضافة حقل .. انا ممكن اسوي داتا تيبل virtual بدل من ان اضيف في داتا بيس

ولازلت ابحث عن حل افضل

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

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#10

السلام عليكم

ان كنت تستخدم Datagridview فلدي الحل بإذن الله تعالى

#11

بالتأكيد استخدمها :)

الحقني يالشيخ :)

بس لا تقولي استخدم for each

تم تعديل هذه المشاركة بواسطة Romantic_touch في 20 مايو 2006 في 09:59

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#12

السلام عليكم

حاول التالي

Function Hijry(ByVal Dt As String, Optional ByVal format As String = Nothing) As String
		Dim H As New DateTime(CDate(Dt).Year(), CDate(Dt).Month(), CDate(Dt).Day(), New HijriCalendar)
		Return H.ToString("dd/MM/yyyy")
	End Function
	Private Sub DataGridView1_CellFormatting(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) Handles DataGridView1.CellFormatting
		If e.ColumnIndex = 1 Then
			DataGridView1.Item(2, e.RowIndex).Value = Hijry(DataGridView1.Item(1, e.RowIndex).Value)
		End If
	End Sub
#13

مازبطت ياباشا :)

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#14

السلام عليكم

ماهي رسالة الخطأ؟

#15

مافي رسالة خطأ بس مايطلع التاريخ هجري

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#16

السلام عليكم

ماهي النتيجة التي حصلت عليها؟

ينبغي أن يكون لديك عمود اضافي لعرض التاريخ الهجري

ثانياُ ان لم تنجح الدالة التي أعطيتك اياها استخدم اي دالة لتحويل التاريخ الهجري

#17
Romantic_touch كتب:
مكان الدالة طبعا في البرنامج

اما بخصوص اضافة حقل فهذا ما اهرب منه انا ولا أريده لأن التاريخ الهجري يحتاج بعض الأحيان الى اعادة اعداد بسب اختلاف النظام مع التاريخ الحقيقي

السلام عليكم :rolleyes:

أخي الكريم

أود توضيح فكرتي إذ أنه يبدو لي أنها لم تصلك بالشكل المطلوب ! :wacko:

كنت أقصد إضافة حقل في قاعدة البيانات فعلياً بحيث يكون نوع البيانات لهذا الحقل (( نص )) وليس (( تاريخ/وقت )) وذلك لتفادي الخطأ الذي سيظهر عند كونه تاريخ !

وبعد أن تقوم بالتحويل يتم تخزين القيمة المحولة في الحقل الجديد

ثم استدعاءها في المكان المطلوب !

دااخ راااسي !!! :wacko:

أخي أقول لك شي

شرايك ترفق ملف مبسط ليتضح لنا ما تريد وتتضح لك فكرتنا B)

تحياتي وبالتوفيق ؛؛ :rolleyes:

{ وقل رب زدني علماً }

#18

الموضوع ومافيه

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

ابغى اقراها واعرضها بالهجري في داتا قريد وبس

بدون ما اضيف اي حقلفي الداتا بيس

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#19

السلام عليكم

دقق في اجابتي الأولى و جربها (سطور ... التاريخ) ستجد الاجابة فيها ان شاء الله

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

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