2013-02-11 7 views
-1
String sql = "select title, song_id from up_song where Song_type='Mp3 Tracks' "; 
    SqlDataAdapter adpt = new SqlDataAdapter(sql, cn); 
    DataSet ds = new DataSet(); 
    adpt.Fill(ds, "title"); 
    var m = ds.Tables["title"].AsEnumerable().Max(x => x.Field<int>("song_id")); 
    var k = ds.Tables["title"].AsEnumerable().Min(x => x.Field<int>("song_id")); 
for (i = m; i >= k; --i) 
     { 
      try 
      { 
       hp[i] = new HyperLink(); 
       hp[i].ID = "hp" + i; 
       hp[i].Text = ds.Tables["title"].Rows[i].ItemArray[0].ToString(); 
       hp[i].NavigateUrl = "Downloadpage.aspx"; 
       hp[i].ForeColor = System.Drawing.Color.White; 
       Panel1.Controls.Add(hp[i]); 
       Panel1.Controls.Add(new LiteralControl("<br>")); 
       HttpCookie coo = new HttpCookie("song"); 
       coo["sogtit"] = ds.Tables["title"].Rows[i].ItemArray[0].ToString(); 
       Response.Cookies.Add(coo); 
      } 
      catch (Exception ex) 
      { 
       Response.Write(ex.Message); 
      } 
     } 
    } 

здесь я застрял с одной ошибки и ошибки:ошибка найти в мин и макс значения

не

Там нет строки в позиции 9.There нет строки в позиции 8.There нет строки в позиции 7.

так что проблема в коде ???

Я не могу получить доступ к значениям из базы данных, каково другое решение, спасибо?

+1

Вы уверены, что это не дубликат: http://stackoverflow.com/q/14811121/284240? –

+0

Это похоже почти на тот вопрос, который вы задали ранее - http://stackoverflow.com/questions/14811121/how-i-select-min-and-max-values-from-dataset –

ответ

0

Если у вас есть SongId 3,4,5,6,7,8,9 в вашей БД, то

m is 9 

k is 3 

Но ваш DataTable имеет только семь строк (0-6). Тогда вы не можете получить к ним доступ, используя id как индекс строки.

+0

нет Моя база данных имеет значения От 1 до 9, а набор данных имеет значения от 3 до 9, если я запускаю код, я могу получить правильное значение m и k, но затем также я не получил правильный результат. –

+0

значения 3-9 будут на индексе 0-6, что означает, что конечно, индекса 7,8,9 не будет. Именно то, что я имел в виду с моим ответом. – StampedeXV

+0

Я не могу получить доступ к значениям. Какое другое решение? –

Смежные вопросы