0

nvarchar列 (SQL Server データベース)からいくつかの値を取得したいと思います。私のコードは以下のようになります:

Dim value1 As String

Dim con2 As New System.Data.SqlClient.SqlConnection
con2.ConnectionString = "data source=AAA;initial catalog=DWH;integrated security=SSPI;"

con2.Open()

Dim retrieveGSFdata As New System.Data.SqlClient.SqlCommand
retrieveGSFdata.Connection = con2
retrieveGSFdata.CommandText = "SELECT * FROM table1"

Dim myGSFdataReader as System.Data.SqlClient.SqlDataReader
myGSFdataReader = retrieveGSFdata.ExecuteReader()

Dim iteratorGSF As Integer
iteratorGSF = 0

while(myGSFdataReader.read())

    Select Case iteratorGSF
      case 0:
        if myGSFdataReader.IsDBNull(4)
           value1 = 0
        else
           value1 = myGSFdataReader.GetString(4)
        end if
    End Select  

    iteratorGSF = iteratorGSF + 1

End while

myGSFdataReader.Close()
con2.Close()

列に数値がある場合にのみ正常に機能します。ただし、この列には可変文字値が格納されており、このタイプの値はページに表示されていません。何が原因かわかりません。

getValue.ToString代わりに使用しようとしましたgetStringが、どちらも機能しません。

あなたの助けに感謝します。

4

1 に答える 1

0

試す

value1 = myGSFdataReader.GetValue(4)

または

value1 = CStr(myGSFdataReader.GetValue(4))

于 2012-06-11T12:10:33.023 に答える