• 締切済み

ASP.NETのrepeaterかSqlDataReaderの問題

ASP.NET 初心者です。 学校の宿題で、ASP.NET(VB)とMS SQLデータベースを使ってウエブサイトを作っています。 ホームページにサーチ機能をつけているところで、 SqlDataReaderとrepeaterを使って検索結果を表示したところ、表示されるはずの 行が1行だけ表示されません。 何か間違っているのでしょうか。 VB側はPage_Loadで、 cd2.CommandText = "SELECT partName, partID FROM .Part WHERE partName LIKE '%" + kw + "%')" cn.Open() dr = cd2.ExecuteReader() dr.Read() rpResults2.DataSource = dr rpResults2.DataBind() ウエブフォーム側は <asp:repeater id="rpResults2" runat="server"> <ItemTemplate> <TR><td><%# DataBinder.Eval(Container.DataItem, "partName") %></td></TR> </ItemTemplate> </asp:repeater> のような感じです。 Page_Loadで4つrepeaterを使っています。 よくわからずに使っているもので、説明が下手ですみません。 よろしくお願いいたします。

みんなの回答

  • mo_gu
  • ベストアンサー率51% (56/109)
回答No.2

#1です。 SQLで "SELECT COUNT(*) FROM .Part WHERE partName LIKE '%" + kw + "%')" 最初に件数を取得して表示してみたらどうでしょうか?

momo256
質問者

お礼

わかりました。 rd.Read()してはいけなかったみたいです。 ありがとうございました。

  • mo_gu
  • ベストアンサー率51% (56/109)
回答No.1

SqlDataReaderで受け取った結果の件数は正しいの?

momo256
質問者

補足

どうやって件数の数えたらよいのでしょうか? dr.RecordsAffected を使っても-1がかえってきます。 ループしていないので、1件1件カウントすることもできません。 何も知らなくて申し訳ありませんが、 よろしくお願いします。

関連するQ&A