نمایش نتایج 1 تا 19 از 19

نام تاپیک: صفحه بندی گریدویو

  1. #1
    کاربر دائمی آواتار mahtab kf
    تاریخ عضویت
    تیر 1390
    محل زندگی
    تهران
    پست
    102

    سوال: صفحه بندی گریدویو

    سلام دوستان
    من در مقاله 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 در آن نام قطعه انتخاب شده است
    ممنون میشم راهنماییم کنید
    آخرین ویرایش به وسیله mahtab kf : دوشنبه 23 بهمن 1391 در 10:41 صبح

  2. #2
    کاربر دائمی آواتار taghi.km
    تاریخ عضویت
    شهریور 1387
    محل زندگی
    زیر سایه خدا
    سن
    41
    پست
    108

    نقل قول: صفحه بندی گریدویو

    سلام به نظر من اول تست کن ببین sp جواب بر مي گردونه پارامترهای ورودی رو بررسی کن که درست ارسال بشند

  3. #3
    کاربر دائمی آواتار mahtab kf
    تاریخ عضویت
    تیر 1390
    محل زندگی
    تهران
    پست
    102

    نقل قول: صفحه بندی گریدویو

    نقل قول نوشته شده توسط taghi.km مشاهده تاپیک
    سلام به نظر من اول تست کن ببین sp جواب بر مي گردونه پارامترهای ورودی رو بررسی کن که درست ارسال بشند
    من خیلی سرچ کردم اما متوجه نشدم میشه لطفاً بگید چطور اینکارو بکنم؟
    ممنون

  4. #4
    مدیر بخش آواتار ahmad156
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    شیراز
    پست
    2,104

    نقل قول: صفحه بندی گریدویو

    از Managment Studio خود SQL Server امتحان کنین



  5. #5
    کاربر دائمی آواتار mahtab kf
    تاریخ عضویت
    تیر 1390
    محل زندگی
    تهران
    پست
    102

    نقل قول: صفحه بندی گریدویو

    نقل قول نوشته شده توسط ahmad156 مشاهده تاپیک
    از Managment Studio خود SQL Server امتحان کنین

    میشه لطفاً بگید چطور اینکارو بکنم؟ من تا حالا اینکارو نکردم

  6. #6
    مدیر بخش آواتار ahmad156
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    شیراز
    پست
    2,104

    نقل قول: صفحه بندی گریدویو




  7. #7
    کاربر دائمی آواتار taghi.km
    تاریخ عضویت
    شهریور 1387
    محل زندگی
    زیر سایه خدا
    سن
    41
    پست
    108

    نقل قول: صفحه بندی گریدویو

    رو این خط
    SqlCommand cmd = new SqlCommand();

    کلید F9 رو بزن بعد با کلید F10 برنامه رو Trace کن
    پارامترهای ارسالی رو میتونی با راست کلیک روی پارامتر و انتخاب گزینه های watch را بررسی کنی
    مقدار ds رو هم به همین ترنیب چک کن ببین table داره یا نه اگه داشت ببین table چند تا row داره

  8. #8
    کاربر دائمی آواتار mahtab kf
    تاریخ عضویت
    تیر 1390
    محل زندگی
    تهران
    پست
    102

    نقل قول: صفحه بندی گریدویو

    نقل قول نوشته شده توسط taghi.km مشاهده تاپیک
    رو این خط
    SqlCommand cmd = new SqlCommand();

    کلید F9 رو بزن بعد با کلید F10 برنامه رو Trace کن
    پارامترهای ارسالی رو میتونی با راست کلیک روی پارامتر و انتخاب گزینه های watch را بررسی کنی
    مقدار ds رو هم به همین ترنیب چک کن ببین table داره یا نه اگه داشت ببین table چند تا row داره
    اصلاً sp رو اجرا نمی کنه همون اول به go دوم که می رسه stop میشه و row صفر رو برمی گردونه
    USE [MyWeblog]
    GO
    /****** Object: StoredProcedure [dbo].[CastumPaging] Script Date: 02/11/2013 13:48:41 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    -- Batch submitted through debugger: SQLQuery1.sql|7|0|C:\Users\aria-pc\Documents\SQL Server Management Studio\Projects\SQLQuery1.sql
    -- =============================================
    -- Author: <Author,,Name>
    -- Create date: <Create Date,,>
    -- Description: <Description,,>
    -- =============================================
    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

    ds هم null هست
    آخرین ویرایش به وسیله mahtab kf : دوشنبه 23 بهمن 1391 در 13:53 عصر

  9. #9
    کاربر دائمی آواتار taghi.km
    تاریخ عضویت
    شهریور 1387
    محل زندگی
    زیر سایه خدا
    سن
    41
    پست
    108

    نقل قول: صفحه بندی گریدویو

    شما بهتر قدم به قدم پیش بری ابتدا sp رو از طریق sqlserver management چک کن فکر کنم کد زیر کمکت کنه
    declare @SQLTableName nvarchar(100),   @name nvarchar(20),   @PageIndex int,   @PageSize int
    set @SQLTableName = 'tablename'
    set @name = 'itemname'
    set @PageIndex = 0
    set @PageSize = 10
    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)


    پارامتره رو من همینجوری مقدار دادم

  10. #10
    کاربر دائمی آواتار mahtab kf
    تاریخ عضویت
    تیر 1390
    محل زندگی
    تهران
    پست
    102

    نقل قول: صفحه بندی گریدویو

    نقل قول نوشته شده توسط taghi.km مشاهده تاپیک
    شما بهتر قدم به قدم پیش بری ابتدا sp رو از طریق sqlserver management چک کن
    ممنون از شما وقتی اجرا می کنم پیغام زیرو میده:
    Msg 201, Level 16, State 4, Procedure CastumPaging, Line 0
    Procedure or function 'CastumPaging' expects parameter '@SQLTableName', which was not supplied.

    (1 row(s) affected)
    که داخل row مقدار null است
    آخرین ویرایش به وسیله mahtab kf : دوشنبه 23 بهمن 1391 در 17:40 عصر

  11. #11
    کاربر دائمی آواتار taghi.km
    تاریخ عضویت
    شهریور 1387
    محل زندگی
    زیر سایه خدا
    سن
    41
    پست
    108

    نقل قول: صفحه بندی گریدویو

    شما باید داخل sp رو چک کنید اون تیکه کدی که گذاشتم رو تست کردی
    مهم بدنه sp هست کاری به تعاریف اولش نداشته باش در ضمن فکر کنم شما دارید دستور ALTER PROCEDURE dbo.CastumPaging رو اجرا میکنید که sp رو تغییر میده و کاری با اجرای داخلش نداره

  12. #12
    کاربر دائمی آواتار mahtab kf
    تاریخ عضویت
    تیر 1390
    محل زندگی
    تهران
    پست
    102

    نقل قول: صفحه بندی گریدویو

    نقل قول نوشته شده توسط taghi.km مشاهده تاپیک
    شما باید داخل sp رو چک کنید اون تیکه کدی که گذاشتم رو تست کردی
    مهم بدنه sp هست کاری به تعاریف اولش نداشته باش در ضمن فکر کنم شما دارید دستور ALTER PROCEDURE dbo.CastumPaging رو اجرا میکنید که sp رو تغییر میده و کاری با اجرای داخلش نداره
    اولش همین کارو میکردم اما بعدش روی sp کلیک راست کردم و گزینه "Execute Stored Procedure..." رو زدم بعد ok کردم بعد پیغام زیرو داد:
    Msg 201, Level 16, State 4, Procedure CastumPaging, Line 0
    Procedure or function 'CastumPaging' expects parameter '@SQLTableName', which was not supplied.

    (1 row(s) affected)
    درسته؟

  13. #13
    کاربر دائمی آواتار mahtab kf
    تاریخ عضویت
    تیر 1390
    محل زندگی
    تهران
    پست
    102

    نقل قول: صفحه بندی گریدویو

    من واقعا عذر می خوام مقادیرو در دستور ALTER PROCEDURE dbo.CastumPaging اضافه کرده بودم ولی اینبار در "Execute Stored Procedure..."وارد کردم و خطای زیرو داد:
    Msg 207, Level 16, State 1, Line 1
    Invalid column name 'cpu'.

    (1 row(s) affected)


    همون خطای اولمو

  14. #14
    کاربر دائمی آواتار taghi.km
    تاریخ عضویت
    شهریور 1387
    محل زندگی
    زیر سایه خدا
    سن
    41
    پست
    108

    نقل قول: صفحه بندی گریدویو

    ببخشید مقدار @name چی پاس میشه و فیلدهای جدول TBaddItem چیه؟

  15. #15
    کاربر دائمی آواتار mahtab kf
    تاریخ عضویت
    تیر 1390
    محل زندگی
    تهران
    پست
    102

    نقل قول: صفحه بندی گریدویو

    نقل قول نوشته شده توسط taghi.km مشاهده تاپیک
    ببخشید مقدار @name چی پاس میشه و فیلدهای جدول TBaddItem چیه؟
    مقدار NAME با انتخاب کاربر از یک ddl با query string فرستاده میشه که نام قطعه است و جدولم شامل id,NameItem,model,brand,sale می باشد که من می خوام قطعات با شرط NameItem=@name نمایش داده بشه. امیدوارم منظورمو رسونده باشم

  16. #16
    کاربر دائمی آواتار taghi.km
    تاریخ عضویت
    شهریور 1387
    محل زندگی
    زیر سایه خدا
    سن
    41
    پست
    108

    نقل قول: صفحه بندی گریدویو

    بهتره این خط رو تجزیه کنید
    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)

    مثلا اول
    SELECT * , ROW_NUMBER()  OVER(ORDER BY id) as RowNum FROM '+@SQLTableName

    رو امتحان کنی اگه جواب گرفتی قسمت های بعدی رو اضافه کنید

  17. #17
    کاربر دائمی آواتار mahtab kf
    تاریخ عضویت
    تیر 1390
    محل زندگی
    تهران
    پست
    102

    نقل قول: صفحه بندی گریدویو

    ممنون از شما که با حوصله پرسشهامو پاسخ دادید این رو امتحان کردم و جواب داده بعداً قسمت where (NameItem='+@name+') رو اضافه کردم و مدام خطا گرفت

  18. #18

    نقل قول: صفحه بندی گریدویو

    سلام
    به قسمت Where نگاه کنید

    where (NameItem='+@name+')

    اگه فرض کنیم مقدار name@ برابر Cpu باشه، بعد از جاگزاری قسمت Where میشه این

    where (NameItem=Cpu)

    چون تو دستور نهایی که قراره اجرا بشه، خبری از تک کوتیشن های اطراف Cpu نیست، Sql فکر میکنه Cpu اسم یه ستونه و پیغام
    Invalid column name 'cpu'.
    رو میده. تو متغیر SQLText@ بخش Where رو اینجوری بنویسید
    where  (NameItem='''+@name+''')
    آخرین ویرایش به وسیله Himalaya : سه شنبه 24 بهمن 1391 در 00:11 صبح

  19. #19
    کاربر دائمی آواتار mahtab kf
    تاریخ عضویت
    تیر 1390
    محل زندگی
    تهران
    پست
    102

    نقل قول: صفحه بندی گریدویو

    از همه دوستان ممنونم مشکلم حل شد و اشتباه همونی بود که دوست خوبمون karaji333 گفتند واقعاً از ایشون ممنونم

تاپیک های مشابه

  1. مشکل در صفحه بندی گریدویو
    نوشته شده توسط jamali_yosef در بخش ASP.NET Web Forms
    پاسخ: 1
    آخرین پست: چهارشنبه 20 دی 1391, 12:11 عصر
  2. نحوه تنظیم صفحه بندی گریدویو مثل تالارهای این سایت
    نوشته شده توسط jamali_yosef در بخش ASP.NET Web Forms
    پاسخ: 3
    آخرین پست: شنبه 09 دی 1391, 10:56 صبح
  3. صفحه بندی گریدویو
    نوشته شده توسط maktab در بخش ASP.NET Web Forms
    پاسخ: 12
    آخرین پست: پنج شنبه 13 بهمن 1390, 07:42 صبح
  4. صفحه بندی گریدویو
    نوشته شده توسط maktab در بخش ASP.NET Web Forms
    پاسخ: 3
    آخرین پست: دوشنبه 10 بهمن 1390, 18:29 عصر
  5. سوال: صفحه بندی گریدویو
    نوشته شده توسط AhoO-sh در بخش ASP.NET Web Forms
    پاسخ: 2
    آخرین پست: یک شنبه 29 فروردین 1389, 12:09 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •