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

مساعدة لمعرفة الخطاء فى الكود

بدأه samy elsayed في 17 ديسمبر 2013 · 6 رد · 296 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم
لو سمحتم اخوانى انا عملت stored procedure عشان اعمل بيه gridview ولكن للاسف مفيش اى تعديل بيتم نهائى ومفيش error بيهزر 

ده ال بروسيدجر

ALTER PROCEDURE [dbo].[UPDATE_ACADEMY]
@acd_id int,
@acd_name VARCHAR(50),
@acd_strt date,
@acd_End date
AS
if not exists(select * from Academy_year where Academy_id=@acd_id or academy_name=@acd_name or acdemy_start=@acd_strt or academy_end=@acd_End)
begin 
update  dbo.Academy_year
set academy_name=@acd_name , acdemy_start=@acd_strt ,academy_end=@acd_End
where Academy_id=@acd_id
end

وده الكود اللى بعمل بيه update فى ال gridview

protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        SqlCommand comm = new SqlCommand();
        comm.CommandText = "UPDATE_ACADEMY";
        comm.CommandType = CommandType.StoredProcedure;
        comm.Parameters.Add("@acd_id", SqlDbType.Int).Value = (Label)GridView1.Rows[e.RowIndex].FindControl("Label2");
        comm.Parameters.Add("@acd_name", SqlDbType.VarChar).Value =(TextBox) GridView1.Rows[e.RowIndex].FindControl("TextBox1");
        comm.Parameters.Add("@acd_strt", SqlDbType.Date).Value =(TextBox) GridView1.Rows[e.RowIndex].FindControl("TextBox2");
        comm.Parameters.Add("@acd_End", SqlDbType.Date).Value =(TextBox) GridView1.Rows[e.RowIndex].FindControl("TextBox3");
        comm.Connection = conn;

        try
        {
            conn.Open();
            comm.ExecuteNonQuery();
            GridView1.EditIndex=-1;
            Label6.Text = "تمت عملية تعديل بيانات العام الأكاديمي بنجاح";

        }
        catch
        {

            Label6.Text = "لم تتم عملية تعديل بيانات العام الأكاديمي";
        }
        finally
        {
            conn.Close();
            conn.Dispose();
        }

رجاء المساعدة مع التاكد انه لايظهر اى خطاء بالمرة 
جزاكم الله خيرا

#2

remove this line

if not exists(select * from Academy_year where Academy_id=@acd_id or academy_name=@acd_name or acdemy_start=@acd_strt or academy_end=@acd_End)
#3

بس كده هيكون فيه تكرار انا عايز امنع اى تكرار للبيانات 
طب فى حل بديل؟؟

#4

شيلت السطر ده فعلا ونفس المشكلة ظهرت لما عملت Execute 
ظهرت الرسالة دى

 

Msg 201, Level 16, State 4, Procedure UPDATE_ACADEMY, Line 0
Procedure or function 'UPDATE_ACADEMY' expects parameter '@acd_strt', which was not supplied.
 
انا كنت جربته من ال sql server studio 
وجربت بالسطر وبدونه وظهرت نفس الرسالة
#5

تم الاجابه في مشاركه اخري

#6

معلش انا مش فاهم ؟
اين المشاركة الاخرى؟

#7

KARIMSOFT

جزاك الله خيرا مكنتش لسه قرتها 

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