1

最初のドキュメントが何と呼ばれるかは関係ありません。このコードでは常にリストから除外されます。DB に対して同じ 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

4 に答える 4

3

dr.Read();これは、あなたが2 回電話をかけたからだと思います。最初のものを削除するだけです。

于 2012-08-29T16:46:58.637 に答える
0

あなたは一度読んでいるが、読んだものを保存していないので、ループの開始時にもう一度読んでいます。

dr.Read()最初の行を削除します。ループで読みたいだけです。

于 2012-08-29T16:47:07.490 に答える
0
dr.Read();

html += "<ul>";

while (dr.Read())

最初の dr.Read() は最初のレコードをスキップします。

于 2012-08-29T16:47:31.490 に答える
0

while ループの外側にある最初の dr.Read() を取り除きます。最初のレコードをスキップしています。

于 2012-08-29T16:48:09.400 に答える