0

VB.Net の使用

関数でテーブルの値を取得したい

テーブル値を取得する関数

Function GetFsDtValue(ByVal value As Integer) As String
        Dim conObjects As New ConnectionObjects
        conObjects.OpenConnection()

            Dim objDataAdapter As New SqlDataAdapter("Select * from table1", conObjects.myConnection)
            Dim pobjDS As New DataSet("Result")
            If Not IsNothing(objDataAdapter) Then
                objDataAdapter.Fill(pobjDS)
                objDataAdapter.Dispose()
            End If
            If pobjDS.Tables.Count > 0 AndAlso pobjDS.Tables(0).Rows.Count > 0 Then
                GetFsDtValue = pobjDS.Tables(0).Rows(0).Item(value)
            Else
                GetFsDtValue = ""
            End If

        End Try
    End Function

上記の関数を何度も呼び出しています

txtbox1.Text = GetFsDtValue(7)
txtbox2.Text = GetFsDtValue(8)

関数を呼び出すたびに、接続が再度開かれ、テーブルがデータセットに保存され、パフォーマンスに影響します。その他の代替方法

お気に入り

関数を介してテーブルの値を呼び出したい。どうやってするの

vb.net コードのヘルプが必要

4

1 に答える 1

1

これを行う関数を作成し、FetchData などと呼びます。

Dim conObjects As New ConnectionObjects
        conObjects.OpenConnection()

            Dim objDataAdapter As New SqlDataAdapter("Select * from table1", conObjects.myConnection)
            _pobjDS As New DataSet("Result")
            If Not IsNothing(objDataAdapter) Then
                objDataAdapter.Fill(pobjDS)
                objDataAdapter.Dispose()
            End If´

pobjDS を次のようなグローバル変数にします。

private _pobjDS as DataSet

GetFsDtValue で次のようにします。

Function GetFsDtValue(ByVal value As Integer) As String

            If _pobjDS.Tables.Count > 0 AndAlso _pobjDS.Tables(0).Rows.Count > 0 Then
                GetFsDtValue = _pobjDS.Tables(0).Rows(0).Item(value)
            Else
                GetFsDtValue = ""
            End If

        End Try
    End Function

そして出来上がりが修正されました

于 2012-11-02T15:42:04.437 に答える