- 題名: MySQL検索後のレコード数の取得
- 日時: 2005/07/07 13:00:16
- ID: 11662
- この記事の返信元:
- (なし)
- この記事への返信:
- [11697] Re[1]: MySQL検索後のレコード数の取得2005/07/08 13:30:55
- ツリーを表示
件数を知りたいということは、複数あるんですか? パラメータクエリにした途端、なぜアダプタのFillではなくExecuteScalarを使用する ように変えたのでしょうか。 この方法だと、結果セット中の最初の行の最初の列の値、ようするに、ひとつの値しか 取得できませんが。 目的が分かりませんから何ともいえませんが、 私としては、パラメータ付きのクエリをSelectCommandに指定したアダプタで、Fillして DataTableに受け取って、ご本人(のりおさん)が最初に挙げている、またるしぇさんも 書かれている、dt1.Rows.Count.ToStringで対応すればよいのでは、と思いますが。
分類:[.NET]
MySQLを使っているのですが、Form Loadに
oleCn.ConnectionString = ……
oleCn.Open()
oleDa = New Odbc.OdbcDataAdapter("SELECT * FROM tb", oleCn)
oleDa.Fill(dtSet, "tb")
dtTbl = dtSet.Tables("tb")
dtRow = dtTbl.Rows(0)
TextBox2.Text = dtRow(0)
TextBox3.Text = dtRow(1)
TextBox7.Text = dtTbl.Rows.Count.ToString
と書き、テーブル内のレコードを全て表示してから、
テーブル内全てのレコード数を表示することはできました。
しかし id を検索した後、各当するレコード数のみを数える方法が分かりません。
Dim oleCmd1, oleCmd2 As Odbc.OdbcCommand
Dim dt1, dt2 As String
oleCmd1 = New Odbc.OdbcCommand("select id from tb where id = ?", oleCn)
oleCmd2 = New Odbc.OdbcCommand("select day from tb where id = ?", oleCn)
oleCmd1.Parameters.Clear()
oleCmd2.Parameters.Clear()
oleCmd1.Parameters.Add("param1", TextBox6.Text) oleCmd2.Parameters.Add("param1", TextBox6.Text)
dt1 = CType(oleCmd1.ExecuteScalar(), String)
dt2 = CType(oleCmd2.ExecuteScalar(), String)
TextBox2.Text = dt1
TextBox3.Text = dt2
このように検索をしています。
どうすればよいのか分からないので、ぜひ教えてもらえないでしょうか。