2012-02-05 10 views
0

私はOleDbDataReaderを使用してデータを読み取る次のコードを持っています。VB.net csvファイルを読む - OleDBDatReaderは数字のみを返します

文字列に変換されても、私は数字だけを返すことができます。

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ファイルを開いてデータを見ました。

"在庫番号"に文字列がある場合、データを返さない。

IM-95-189-012 ---->が空白

2241を返し----->リターン2241

2241B ----->これは空白の

を返します。初めてOleDbDataReaderを使用しています。

何が起こっているのでしょうか?

答えて

1

文字列値を取得しようとしている場合は、GetStringを使用します。あなたはより多くの情報が必要な場合は、チェックknowledge base

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

Thisは、このに直接影響を与えます。答えはC#ですが、VBに変換可能でなければなりません。

+0

ありがとうございました。あなたのコードを試しましたが、 "入力文字列が正しいフォーマットではありませんでした"というエラーが表示されます。私はグーグルで見つけて、このサイトを見つけました。この人はまったく同じ問題を抱えています。 http://www.codeproject.com/Questions/268732/Csharp-upload-csv-column-data-type-problem – shinya

+0

興味深い。これについて何か他のものが見れば、私はあなたに知らせるでしょう。 – APrough

+0

上記のC#のソリューションへのリンクを含むように編集しました。 – APrough

関連する問題