代码之家  ›  专栏  ›  技术社区  ›  user279521

在vb.net中将sqldatareader转换为字符串

  •  0
  • user279521  · 技术社区  · 14 年前

    我将从数据库返回一行,并希望将sqldatareader转换为字符串格式,以便将其传递给我的WebService。

            Dim rdr As SqlDataReader = sqlcmd.ExecuteReader
    
            If rdr.HasRows Then
                rdr.Read()
                GetInvHeaderValue = Convert.ToString(rdr.Read())
                Return GetInvHeaderValue
            Else
                GetInvHeaderValue = "<ERR>No Records Returned</ERR>"
            End If
    

    如何将SQLDataReader转换为字符串?

    有更好的选择吗?

    1 回复  |  直到 14 年前
        1
  •  1
  •   Tim Schmelter    14 年前

    rdr.Read() 将DataReader移到下一条记录,如果有下一条记录,则返回。所以你可以写:

    Dim GetInvHeaderValue As Object
    While rdr.Read()
       GetInvHeaderValue  = rdr(0)'if this value is in Column-Index 0'
       GetInvHeaderValue  = rdr("GetInvHeaderValue")'if a Column with this name exists'
       GetInvHeaderValue  = rdr.GetString(0)'returns a String representation(there are getter for all common types)'
    End While
    

    您只需将指示是否存在下一条记录的布尔值转换为字符串(“true”/“false”)。

    看一看 MSDN 更多信息。