وظائف مخصصة SQL في مكتبة المؤسسة
-
05-07-2019 - |
سؤال
هل هناك طريقة لتنفيذ مهام SQL مخصصة مع مكتبة Enterpise؟ لقد حاولت Database.ExecuteScalar ()، ولكن لسبب ما فإنها ترجع فارغة.
وهذه هي وظيفتي:
Database db = DatabaseFactory.CreateDatabase("ConnectionString");
DbCommand cmd = db.GetStoredProcCommand("FunctionName");
db.AddInParameter(cmd, "Value1", DbType.String, Param1Value);
db.AddInParameter(cmd, "Value2", DbType.String, Param2Value);
return Convert.ToBoolean(db.ExecuteScalar(cmd));
وهنا في (كمد) طريقة db.ExecuteScalar ترجع فارغة. هذا لا يحدث مع الإجراءات المخزنة.
وبالمناسبة، والتراسل الفوري باستخدام الإصدار 4.0
وشكرا.
المحلول
لديك لإنشاء العبارة حدد الذي يختار النتيجة من وظيفة وتنفيذ ذلك.
و"SELECT * FROM FunctionName (@ Value1، و @ VALUE2)"
وأو يمكنك التفاف استدعاء دالة الخاص بك في إجراء واستدعاء الإجراء، أنا أفضل ذلك.
نصائح أخرى
لوظائف العددية سيكون
SELECT FuncName(@Param1)
وفي حين أن دالة قيم الجدول سيكون
SELECT * FROM FuncName(@Param1)
لا تنتمي إلى StackOverflow