آژانس هواپیمایی
pop up

خوندن مقدار فیلد ID با SqlDataReader

شروع موضوع توسط fivestar ‏30 آگوست 2007 در انجمن asp , ASP.NET

  1. fivestar

    fivestar Registered User

    تاریخ عضویت:
    ‏14 نوامبر 2006
    نوشته ها:
    73
    تشکر شده:
    0
    با سلام
    دوستان من به یه مشکل خیلی ساده برخورد کردم ولی توش گیر کردم !!:(

    یه گریدویو دارم که یه ستون شامل یه دکمه بهش اضافه کردم .یعنی موقع نمایش برای هر رکورد یه دکمه دارم که وقتی کلیک میشه باید مقدار فیلد ID اون رکورد رو از جدول بخونه و چاپ کنه .

    این کد من تو رویداد کلیک دکمه :


    کد:
     Cnn.Open();
                string str = "Select * from Table1";
                SqlCommand Cmd = new SqlCommand(str,Cnn);
                
                SqlDataReader SDR = Cmd.ExecuteReader();
              
              // SDR.Read();
               string s = SDR.GetValue(0).ToString();
                Response.Write(s);
    
    
    این پیغام رو میده:

    کد:
    Invalid attempt to read when no data is present
    
    مسلما اگر SDR.Read(); رو هم تو کد فعال کنم ، دکمه هر رکورد رو که بزنم فقط ID رکورد اول چاپ میشه

    یه وقت فکر نکنید پیغام بخاطر اینکه تو جدولم رکورد ندارم. . رکورد دارم اونم 10 تا !!

    چی کار کنم ؟؟؟
     
  2. Graveworm

    Graveworm Registered User

    تاریخ عضویت:
    ‏23 می 2005
    نوشته ها:
    1,063
    تشکر شده:
    12
    محل سکونت:
    Tehran
    خوب شما میخواین با این ID چه کاری انجام بدید ؟ اگه مثلا میخواین به صورت querystring لینک جدید بدید، میتونین هنگام databinding به لینک مقدار رو بدید .. یا تو خود gridview این مقدار رو در یکی از ستون ها بیارید و با کلیک دکمه، مقدار مثلا ستون اول رو بخونین ..
     
  3. H_R

    H_R مدیر بازنشسته

    تاریخ عضویت:
    ‏30 مارس 2005
    نوشته ها:
    3,285
    تشکر شده:
    15
    محل سکونت:
    North Pole
    اینا رو بعد از SqlDataReader SDR = Cmd.ExecuteReader(); بذار :

    کد:
    [SIZE=2][COLOR=#0000ff]while[/COLOR][/SIZE][SIZE=2] (SDR.Read())
    {
    Response.Write(SDR[0].ToString());
    }
    [/SIZE]