تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[C#.NET] مشكلة عند الاستعلام عن الاجراءات المخزنة
#1
السلام عليكم ورحمة الله وبركاتة 

رمضان مبارك علي الجميع 


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

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

عندما اقوم بالاضافة تتم البيانات من الاجراءات المخزنة بدون مشاكل ويظهر البيانات الجديدة بالقاعدة بدون مشاكل ولكن عند الاستعلام تحدث مشكلة لا اعرف ما هو سببها 

الاجراء المخزن لعملية الاستعلام لكل الجدول .

كود :
USE [DB_A5E098_MONEMDCA]
GO
/****** Object:  StoredProcedure [dbo].[selectall_user]    Script Date: 5/6/2020 11:32:02 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER proc [dbo].[selectall_user] (
@code nvarchar(50), @codeuser nvarchar(50), @pictureuser varbinary(50),@nameshop nvarchar(50),@country nvarchar(50),@addressuser nvarchar(50),@telephone nvarchar(20),@passworact nvarchar(20),@dateregist date,@active bit)
as
select  * from  user_tb
--add


كود ملاء الداتاسيت لقراءة البيانات فيما بعد .

كود :
  using (SqlCommand cmd = new SqlCommand("selectall_user", con))
           {
               cmd.CommandType = CommandType.StoredProcedure;

               using (SqlDataAdapter da = new SqlDataAdapter(cmd))
               {
                   DataSet dataset = new DataSet();
                   da.Fill(dataset);
               }
           }


كود الخطاء 

Procedure or function 'selectall_user' expects parameter '@code', which was not supplied.

نفس كل شيء بكود الاضافة وتعمل الاكواد جيدا .
الرد
تم الشكر بواسطة: ابو ليلى
#2
و عليكم السلام و رحمة الله و بركاته
الاخ محمد,
شيئ طبيعي يعطيك خطأ
انت واضع الكثير من المتغيرات في البروسيجر و لا تستخدمها في قلب الاجراء
و تريد المنادة عليه دون ان تمرر قيم لهذه المتغيرات ؟؟؟
حدد الهدف من الاستعلام .
اذا كنت تريد الحصول على كل البيانات في جدول المستخدمين فاحذف المتغيرات داخل جسم الاجراء و ابقي على جملة التحديد
و اذا كنت تريد الحصول على مستخدمين محددين عليك ببناء استعلام صحيح.
فرسالة الخطأ تطلب تمرير قيمة للمتغير code , و هكذا مع باقي المتغيرات
اللهم لك الحمد كما ينبغي لجلال وجهك و عظيم سلطانك
في حل و ترحال
الرد
تم الشكر بواسطة: محمد اسماعيل , ابراهيم ايبو
#3
(07-05-20, 01:56 AM)ابو ليلى كتب : و عليكم السلام و رحمة الله و بركاته
الاخ محمد,
شيئ طبيعي يعطيك خطأ
انت واضع الكثير من المتغيرات في البروسيجر و لا تستخدمها في قلب الاجراء
و تريد المنادة عليه دون ان تمرر قيم لهذه المتغيرات ؟؟؟
حدد الهدف من الاستعلام .
اذا كنت تريد الحصول على كل البيانات في جدول المستخدمين فاحذف المتغيرات داخل جسم الاجراء و ابقي على جملة التحديد
و اذا كنت تريد الحصول على مستخدمين محددين عليك ببناء استعلام صحيح.
فرسالة الخطأ تطلب تمرير قيمة للمتغير code , و هكذا مع باقي المتغيرات


فعلا حذفت كل المتغيرات والكود يعمل بشكل جيد .

كنت فاكر لما استعلم عن كل الجدول  * يعرف المتغيرات تلقائي داخل الاجراء المخزن .

جزاك الله كل خير .
الرد
تم الشكر بواسطة: ابو ليلى , asemshahen5 , ابراهيم ايبو



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم