第一个SQL结果从结果中删除

时间:2012-08-29 16:45:32

标签: c# asp.net sql

调用第一个文档无关紧要,使用此代码始终从列表中排除。我可以对数据库运行相同的select语句,并显示正确的结果。我想我只是看了太多的代码来看问题。

SqlConnection objConn = new SqlConnection(ConfigurationManager.ConnectionStrings["DBName"].ToString());

            objConn.Open();

            string sTSQL =
                        "SELECT [filename]      " +
                        "FROM [DB].[dbo].[secure_files] ";

            SqlCommand objCmd = new SqlCommand(sTSQL, objConn);
            objCmd.CommandType = CommandType.Text;

            SqlDataReader dr = objCmd.ExecuteReader();
            dr.Read();

            html += "<ul>";

            while (dr.Read())
            {
                html += "<li><a href=\"/secure/secureDownload.aspx?query=" + dr[0].ToString() + "\">" + dr[0].ToString() + "</a></li>";
            }
            html += "</ul>";

            objConn.Close();

4 个答案:

答案 0 :(得分:3)

我认为这是因为你两次致电dr.Read();。只需删除第一个。

答案 1 :(得分:0)

您正在阅读一次,但没有保存您所阅读的内容,然后您在循环开始时再次阅读。

删除您的第一条dr.Read()行。你只想在循环中阅读。

答案 2 :(得分:0)

dr.Read();

html += "<ul>";

while (dr.Read())

你的第一个dr.Read()跳过了第一条记录。

答案 3 :(得分:0)

摆脱while循环之外的第一个dr.Read()。它正在跳过第一张唱片。