【问题标题】:VB.net Reading csv file - OleDBDatReader returns only numbersVB.net 读取 csv 文件 - OleDBDatReader 仅返回数字
【发布时间】:2012-02-05 23:30:55
【问题描述】:

我有以下使用 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()

于是我用 test 打开了 csv 文件并查看了数据。

只要“Stock Number”有字符串,它就不会返回数据。

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

2241 -----> 返回 2241

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

这是我第一次使用 OleDbDataReader。

知道发生了什么吗?

【问题讨论】:

    标签: vb.net


    【解决方案1】:

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

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

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

    【讨论】:

    • 感谢您的帮助。我尝试了您的代码,但出现“输入字符串格式不正确”错误。我一直在谷歌搜索并找到了这个网站。这个人遇到了完全相同的问题。 codeproject.com/Questions/268732/…
    • 有趣。如果我看到任何关于此的其他信息,我会告诉你的。
    • 在上面进行了编辑以包含指向 C# 解决方案的链接。
    • 我想我需要创建 Schema.ini 文件...无论如何,非常感谢!
    • 没问题。我觉得我的下一个项目之一涉及类似的事情,所以我会考虑这项研究!
    猜你喜欢
    • 1970-01-01
    • 2017-01-01
    • 2017-03-26
    • 1970-01-01
    • 2018-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多