سلام دوستان
من در مقاله https://barnamenevis.org/showthread.p...%98%DB%8C-Ajax
(آموزش پیاده سازی Custom Paging در GridView با تکنولوژی Ajax) که توسط آقای alonemm نوشته شده بود به مشکل برخوردم ولی در اون مبحث کسی سوالمو جواب نداد پس تو تایپیک جدید مطرح می کنم:
من می خوام با querystring بعد از انتخاب قطعه توسط کاربر گریدویو برپایه همون موضوع نمایش داده بشه و صفحه بندی بشه :
من sp رو به اینصورت نوشتم :
ALTER PROCEDURE [dbo].[CastumPaging]
(
@SQLTableName nvarchar(100),
@name nvarchar(20),
@PageIndex int,
@PageSize int
)
AS
BEGIN
declare @SQLText nvarchar(500)
set @SQLText = 'SELECT * FROM (SELECT * , ROW_NUMBER() OVER(ORDER BY id) as RowNum FROM '+@SQLTableName+' where (NameItem='+@name+')) as DerivedTableName WHERE RowNum BETWEEN '+ str(@PageIndex) +' AND'+ str((@PageIndex+ @PageSize) - 1)
exec(@SQLText)
END
و کاراکتر name رو اینطوری ارسال کردم:
string SQLTableName = "[TBaddItem]";
string name= Request.QueryString["name"];
PageSize = 6;
PageIndex = 1;
PageCount = Convert.ToInt32(Math.Ceiling((double)ADO.countall( SQLTableName,name) / (double)PageSize));
اینم کلاسم:
public DataSet ExecuteDataset(string SQLTableName, string name, int PageIndex, int PageSize)
{
using (SqlConnection con = new SqlConnection(ConnectionString))
{
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "[CastumPaging]";
cmd.Parameters.AddWithValue("@SQLTableName", SQLTableName);
cmd.Parameters.AddWithValue("@name",name);
cmd.Parameters.AddWithValue("@PageIndex", PageIndex);
cmd.Parameters.AddWithValue("@PageSize", PageSize);
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(cmd);
con.Open();
da.Fill(ds);
con.Close();
return ds;
}
}
اما خطای زیرو میگیره:
Invalid column name 'Cpu'.
که cpu در آن نام قطعه انتخاب شده است
ممنون میشم راهنماییم کنید