アプリ版:「スタンプのみでお礼する」機能のリリースについて

DataTableの件数を取得したいのですがどのようにすれば取得できますか?

Private Function getDataListCnt() As Long

Dim DBConnection As New SqlConnection(ConfigurationManager.ConnectionStrings("xxx").ConnectionString)
Dim sqlCmd As New SqlCommand
sqlCmd.Connection = DBConnection
Dim lngRet AS Long
Dim dt As DataTable = New DataTable()
dt = GetList()

☆ここで取得したい☆
lngRet=???

Return lngRet
End Function


Private Function GetList()
Dim CmdTxt As StringBuilder = New StringBuilder()
CmdTxt.AppendLine(" SELECT * FROM TBL WHERE CD='001'")
Dim dt = GetDBListData(CmdTxt.ToString())
Return dt
End Function

A 回答 (3件)

GetDBListDataの中身がわからないのでちゃんとDataTableにデータが入っているのかどうかわかりませんが。

。。
DataTableにデータが入っているとすれば、DataTable.Rows.Count()でとれるかな。
    • good
    • 0
この回答へのお礼

ありがとうございます。
お礼がおそくなりましたが解決しました。

お礼日時:2011/10/22 10:45

全容が見えないので、サンプルです。

参考になれば。

'レコードセットオープン
Rst.Open "SELECT * FROM " & %Database% , Con

'件数変数の初期化
lngRet = 0

'レコードセットを空回ししながら件数をカウントアップ
Do While Not Rst.EOF
lngRet = lngRet +1
Rst.MoveNext()
Loop
    • good
    • 0
この回答へのお礼

お礼がおそくなりましたがありがとうございます。
Rows.Count()
で解決しました。

お礼日時:2011/10/22 10:46

lngRet = dt.Rows.Count



でOKかと。

ただ、色々と気になる点がありますね。

まず、
Dim dt As DataTable = New DataTable()
とありますが、Newする意味がないかと思われます。
(dtに対するインスタンスはGetList()によって設定されるから)

あと、GetList()が何の型で返すのかわかんないので、
1.GetDbListDataはDataTable型を返すこと。
2.GetDbListDataはデータ0件のときでもDataTableのインスタンスを返すこと。
  (=Nothingを返さないこと)

1.と2.を総合して、GetList()は絶対にDataTableのインスタンスを返すことが
確実であれば、先述の対応でいけるはずです。
    • good
    • 0
この回答へのお礼

お礼がおそくなりましたがありがとうございまし。
gongon8のご指摘どおりプログラムを修正いたしました。

お礼日時:2011/10/22 10:47

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています