PDA

View Full Version : سوال: مشکل در حذف رکورد در سه لایه ؟؟



Fartaj
سه شنبه 26 اردیبهشت 1391, 09:50 صبح
سلام خدمت دوستان

من در پروژه سه لایه برای حذف یک رکورد این sp رو در sql قرار دادم :



USE [db]
GO
/****** Object: StoredProcedure [dbo].[Deletenews] Script Date: 05/15/2012 08:53:12 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE [dbo].[Deletenews](
@newsid int

)
AS
BEGIN

DELETE h_news WHERE newsid = @newsid
END


و در لایه DAL این کلاس رو قرار دادم :


public int Deletenews(int newsid)
{
return ExecuteNoneQuery(System.Data.CommandType.StoredPro cedure, "Deletenews", new SqlParameter[] {
new SqlParameter("@newsid", newsid)
});
}

و در لایه BAL این کلاس :


public static int Deletenews(int newsid)
{
return news.Deletenews(newsid);
}

و در یک صفحه یک گرید گزاشتم که اطلاعات رو نشون می ده و داخل گرید یک image button گزاشتم برای حذف با comand name = Remove می خواستم ببینم که برای حذف رکورد باید تو رویداد rowdeleting گرید کلاس مربوط به حذف رکورد رو فراخونی کنم ؟؟ چطوری ؟؟

fakhravari
سه شنبه 26 اردیبهشت 1391, 11:52 صبح
نه نیازی نیست .


protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName.ToLower() == "showinfo")
{
یا GridViewRow row = (GridViewRow)((LinkButton)e.CommandSource).NamingC ontainer;
یا e.CommandArgument
}
}

Fartaj
سه شنبه 26 اردیبهشت 1391, 16:34 عصر
جناب fakhravari من این کد رو قرار دادم اما نتیجه نداد :


protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{

if (e.CommandName.ToLower() == "Remove")
{
GridViewRow row = (GridViewRow)((ImageButton)e.CommandSource).Naming Container;
int newsid = Convert.ToInt32(row);
BLL.news.Deletenews(newsid);

}

}


این ارور رو می ده :

Multiple controls with the same ID 'Literal1' were found. FindControl requires that controls have unique IDs.

Fartaj
چهارشنبه 27 اردیبهشت 1391, 16:59 عصر
دوستان کسی نیست کمک کنه گیر کردم :ناراحت: