在最小值和最大值中查找错误
本文关键字:查找 错误 最大值 最小值 | 更新日期: 2023-09-27 17:58:43
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没有行。位置8没有行。在位置7没有行。
那么,代码中的问题是什么???
我无法访问DB中的值,还有什么解决方案,谢谢?
如果您的数据库中有SongId 3,4,5,6,7,8,9,则
m is 9
k is 3
但是您的DataTable只有七行(0-6行(。然后就不能使用id作为行索引来访问它们。