VB.net读取csv文件 - OleDBDatReader仅返回数字

时间:2012-02-05 23:30:55

标签: vb.net

我有以下使用OleDbDataReader读取数据的代码。

有趣的是,虽然我转换为字符串,但我只能返回数字。

Dim cn As New OleDbConnection
Dim fileloc = Server.MapPath("~/test/")
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + fileloc + ";Extended Properties='text;HDR=Yes;FMT=Delimited'"
cn.Open()

Dim cmd As New OleDbCommand
    cmd.Connection = cn
    cmd.CommandText = "SELECT * FROM feed.csv"

Dim reader As OleDbDataReader = cmd.ExecuteReader()
While reader.Read()
    Response.Write(reader("Stock Number").ToString)
End While
reader.Close()
cn.Close()

所以我用测试打开了csv文件并查看了数据。

当“Stock Number”有字符串时,它不会返回数据。

IM-95-189-012 ---->返回空白

2241 ----->返回2241

2241B ----->返回空白

这是我第一次使用OleDbDataReader。

知道发生了什么事吗?

1 个答案:

答案 0 :(得分:1)

如果您总是尝试获取字符串值,请使用GetString。如果您需要更多信息,请查看knowledge base

Response.Write(reader.GetString("Stock Number"))

This对此有直接影响。答案是针对C#,但应该可以转换为VB。