سؤال

هل هناك طريقة لتنفيذ مهام 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)
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top