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

كيف ادمج فانكشن من تصميمي مع جمله الاستعلام

بدأه ثعلب البرمجه في 28 أكتوبر 2012 · 6 رد · 1,002 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم يا مبدعين البرمجه

كيف ادمج فانكشن من تصميمي مع جمله الاستعلام

والله احاول منذ يومين في تنفيذ هذه الفكرة ولكن لم استطع ..

وان شاء الله اجد المساعده منكم اخواني .

مثلا انا قمت بتصميم فانكشن لمعالجه النصوص واجراء بعض العمليات عليها

Public Function myfun(ByVal TextIn As String) As String
       هنا اكواد الفانكشن 
    End Function

استخدم هذه الداله هكذا وتعمل جيدا اذا كان النص ثابت

 myfun("text")

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

SELECT  inv_det.price , myfun(اسم الحقل ), inv_det.total_price FROM inv_hd

عند محاوله التنفيذ هكذا يعترض علي الداله

اتمني ان اجد المساعده

تم تعديل هذه المشاركة بواسطة ثعلب البرمجه في 28 أكتوبر 2012 في 18:57

#2

ارجو من الاخوه الرد علي الموضوع ..

#3

السوكول لا يقبل هذا الاسلوب من وظائف الدوت نت

يوجد اكثر من طريقة

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

الثاني ان تنشاء برنامج من الدوت نت من نوع قواعد البيانات

الثالثة ان تستعي البيانات في الدوت نت وتحدثها في الذاكرة

1
#4

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

لم افهم هذه الطريقه

الثاني ان تنشاء برنامج من الدوت نت من نوع قواعد البيانات

برجاء التوضيح ...

اعتقد اني سأستخدم الطريقه الثالثه .

#5

لو انت تقصد إنك تتحكم في query قبل ما يروح أو يتم تنفيذه في قاعدة البيانات ممكن تعمل كدا

 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim qry As String
        qry = "select o.orderID,o.orderDate ," & CreateExpressionColumn("o.OrderID") & " as Total from Orders o"
        MessageBox.Show(qry)
    End Sub


    Public Function CreateExpressionColumn(ByVal condition As String) As String
        Dim expression As String
        expression = "(select sum(od.Qty * od.Price) from OrderDetails od where od.OrderID = " & condition & ") "
        Return expression
    End Function

qry دا query الاساسي

CreateExpressionColumn function دا بيعمل expression column يعني sub query

والناتج من الكود دا كله

select o.orderID,o.orderDate 
,(select sum(od.Qty * od.Price) from OrderDetails od where od.OrderID = o.OrderID)  as Total 
from Orders o

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

دا اللي فهمته من قصدك

وعلي قكرة إنا شغال بالأسلوب دا مع advanced query بس بالسي شارب

1
#6

افضل طريقة هي الاسلوب الاول والثاني اما الثالث بطيء وسيء

شرح الطريقة الثانية

الشرح

ممكن تخبرنا بحتوي الفكشن عندك لنساعدك افضل

1
#7

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

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

الكلمات الموجوده بالحقل .. (حاجه زي تشفير كده)

اخي KARIMSOFT بارك الله فيك

فعلا معك حق الطريقه الثالثه ابطئ ولكنها انسب

لانها ستعمل مهما كان نوع قاعده البيانات ..

وايضا البيانات قليله .. ولا يوجد بطئ

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

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

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

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

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

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