لدي جملة select ترجع قيمة التاريخ ميلادي ولدي دالة تحوله هجري فكيف استطيع ان احوله اثنا اجراء عمليه البحث لكي اعرضه في داتا قريد؟
مثال
select changedate(datefiled) as hd from mytable
لدي جملة select ترجع قيمة التاريخ ميلادي ولدي دالة تحوله هجري فكيف استطيع ان احوله اثنا اجراء عمليه البحث لكي اعرضه في داتا قريد؟
مثال
select changedate(datefiled) as hd from mytable
<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>
حسب مافهمت ياسيد
يجب عليك وضع دالة تحويل التاريخ الهجري بعد الخروج من جملة select ..
ثم تجعل الدالة ترسل القيمة النهائية ..
والله اعلم
خليني اشرح لك اكتر
الحين انا بقرا بيانات من قاعدة البيانات وبعدين بعرضها في داتا قريد
سويت جملة الselect وبعدها عبيت adabter وبعدين عرضتها !! وين تبغاني اغير بعد ما اخرج من الجملة زي ماتقول؟
اعتقد فيه طريقة تقدر منها على طول تحول القيمة باستدعاء دالة من نفس select !!
<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>
وين مكان الدالة changedate
هل هي في قاعدة البيانات ام في البرنامج؟؟
من سجن عكا وطلعــت جنـازة...
محمد جمجوم و فؤاد حجـازيجازي عليهم يا شعبــي جازي...المندوب السامي وربعه عموما
محمد جمجوم ومع عطا الزير...فؤاد حجـــــــــازي عز الذخيـره
السلام عليكم
أنا جت في بالي فكرة >>> يمكن فيه أحسن منها خاصة لأني ما زلت في مرحلة تمهيدي في البرمجة !!
فكرتي هي إنك تضيف حقل في الجدول وتخلي نوعه نص
وبعد ما يتم تحويل التاريخ يخزن القيمة في الحقل وبعدها يعرضها على الداتا جريد ....
ينفع كذا ؟!
تمنياتي بالتوفيق ؛؛ :)
{ وقل رب زدني علماً }
مكان الدالة طبعا في البرنامج
اما بخصوص اضافة حقل فهذا ما اهرب منه انا ولا أريده لأن التاريخ الهجري يحتاج بعض الأحيان الى اعادة اعداد بسب اختلاف النظام مع التاريخ الحقيقي
طيب خليني اسوي مثال بسيط
عندي حق بقيمة التاريخ ميلادي وانا ابغى اعرضه في الداتا قريد هجري
فما اريد ان اعمله هو التالي
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>
طبعا ما في أي طريقة لانك تضيف دالة في Select
والسبب انه الدالة من ضمن مكونات الفيجوال بسك يعني يحتاج عملها بعض المكونات dll ميلا الموجودة في الفريم وورك .. أما الSelect فراح تجيب لك البيانات من قاعدة البيانات وهذي القاعدة أكيد لا تحتوي على هذي الملفات الخاصة
الحل كما أعتقد مثل ما ذكروا الاخوان في عمل حقل يحفظ التاريخ بالهجري في قاعدة البيانات وهناك دوال تعمل لك هذي الطريقة بسهولة (( فلماذا الخوف ))
>> تجارب برمجية <<
[/وسط][/وسط][/وسط]
السلام عليكم
أخ عمر العمودي شكرا على الحل وانا اعرف انه يمكن ادخال دالة في select اذا كانت هذه الدالة اصلا من يبئة VB اما الدوال الخارجية فلم اصل لحل حتى الآن
الأخوان بخصوص اضافة حقل .. انا ممكن اسوي داتا تيبل virtual بدل من ان اضيف في داتا بيس
ولازلت ابحث عن حل افضل
اقتباسعندي حق بقيمة التاريخ ميلادي وانا ابغى اعرضه في الداتا قريد هجري
<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>
السلام عليكم
ان كنت تستخدم Datagridview فلدي الحل بإذن الله تعالى
بالتأكيد استخدمها :)
الحقني يالشيخ :)
بس لا تقولي استخدم for each
تم تعديل هذه المشاركة بواسطة Romantic_touch في 20 مايو 2006 في 09:59
<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>
السلام عليكم
حاول التالي
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مازبطت ياباشا :)
<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>
السلام عليكم
ماهي رسالة الخطأ؟
مافي رسالة خطأ بس مايطلع التاريخ هجري
<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>
السلام عليكم
ماهي النتيجة التي حصلت عليها؟
ينبغي أن يكون لديك عمود اضافي لعرض التاريخ الهجري
ثانياُ ان لم تنجح الدالة التي أعطيتك اياها استخدم اي دالة لتحويل التاريخ الهجري
Romantic_touch كتب:مكان الدالة طبعا في البرنامجاما بخصوص اضافة حقل فهذا ما اهرب منه انا ولا أريده لأن التاريخ الهجري يحتاج بعض الأحيان الى اعادة اعداد بسب اختلاف النظام مع التاريخ الحقيقي
السلام عليكم :rolleyes:
أخي الكريم
أود توضيح فكرتي إذ أنه يبدو لي أنها لم تصلك بالشكل المطلوب ! :wacko:
كنت أقصد إضافة حقل في قاعدة البيانات فعلياً بحيث يكون نوع البيانات لهذا الحقل (( نص )) وليس (( تاريخ/وقت )) وذلك لتفادي الخطأ الذي سيظهر عند كونه تاريخ !
وبعد أن تقوم بالتحويل يتم تخزين القيمة المحولة في الحقل الجديد
ثم استدعاءها في المكان المطلوب !
دااخ راااسي !!! :wacko:
أخي أقول لك شي
شرايك ترفق ملف مبسط ليتضح لنا ما تريد وتتضح لك فكرتنا B)
تحياتي وبالتوفيق ؛؛ :rolleyes:
{ وقل رب زدني علماً }
الموضوع ومافيه
انه عندي عمود فيه التواريخ على شكل نص بالميلادي
ابغى اقراها واعرضها بالهجري في داتا قريد وبس
بدون ما اضيف اي حقلفي الداتا بيس
<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>
السلام عليكم
دقق في اجابتي الأولى و جربها (سطور ... التاريخ) ستجد الاجابة فيها ان شاء الله
هذا الموضوع مغلق.