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 回答