- 締切済み
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を使っています。 よくわからずに使っているもので、説明が下手ですみません。 よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- mo_gu
- ベストアンサー率51% (56/109)
#1です。 SQLで "SELECT COUNT(*) FROM .Part WHERE partName LIKE '%" + kw + "%')" 最初に件数を取得して表示してみたらどうでしょうか?
- mo_gu
- ベストアンサー率51% (56/109)
SqlDataReaderで受け取った結果の件数は正しいの?
補足
どうやって件数の数えたらよいのでしょうか? dr.RecordsAffected を使っても-1がかえってきます。 ループしていないので、1件1件カウントすることもできません。 何も知らなくて申し訳ありませんが、 よろしくお願いします。
お礼
わかりました。 rd.Read()してはいけなかったみたいです。 ありがとうございました。