解決済み

VB2005 CSVファイルをテーブルへインポート

  • すぐに回答を!
  • 質問No.3340336
  • 閲覧数806
  • ありがとう数6
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 99% (357/358)

こんばんは。

VB2005にてCSVファイルをテーブルへ、インポートする処理を作成しています。ネットで調べたコードを試しています。デバックは通るのですが、処理結果がテーブルへ出力されません。
(TESTdataset内にTable1を作成しています。)

何か解決案がありましたらご教示をお願いいたします。
また、
※1の'DataGridView1の文なのですが、コメントを外すと
宣言がされていない旨のメッセージが出てきてしまいます。
もし此方も解決案が御座いましたらご教示をお願いいたします。
--------------------------------------------------------------
以下コードです
--------------------------------------------------------------
Imports System.Data
Imports System.Data.OleDb

Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Const csvPath As String = "c:\DB\"
Const csvFile As String = "TEST.csv"
Dim sConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;" _
& "Data Source=" & csvPath _
& ";" & "Extended Properties='text;FMT=Delimited'"

Dim objConn As New OleDbConnection(sConnectionString)
objConn.Open()
Dim objCmdSelect As New OleDbCommand("SELECT * FROM " & csvFile, objConn)

Dim objAdapter1 As New OleDbDataAdapter()
objAdapter1.SelectCommand = objCmdSelect
Dim objDataset1 As New DataSet()
Dim objTable As DataTable
Dim Col As DataColumn

objDataset1 = New DataSet("TEST")
objTable = New DataTable("Table1")
Col = New DataColumn("No")
Col.DataType = Type.GetType("System.Int16")
objTable.Columns.Add(Col)
Col = New DataColumn("Name")
Col.DataType = Type.GetType("System.String")
objTable.Columns.Add(Col)
Col = New DataColumn("出身")
Col.DataType = Type.GetType("System.String")
objTable.Columns.Add(Col)
objDataset1.Tables.Add(objTable)

objAdapter1.Fill(objDataset1.Tables(0))
※1'DataGridView1.DataSource = objDataset1.Tables(0).DefaultView
objConn.Close()
End Sub
End Class
---------------------------------------------------------

※お礼が遅れる場合がありますが、必ずしますので、その時は少々お待ちください。

質問者が選んだベストアンサー

  • 回答No.1

ベストアンサー率 69% (477/687)

CSVの中身は
-----------------
No,Name,出身
1,Aさん,北海道
2,Bさん,沖縄
-----------------
っていうような感じですよね?


単に、
>DataGridView1.DataSource = objDataset1.Tables(0).DefaultView
が通らないのは、フォームに「DataGridView1」が存在していないだけです。


フォームのデザインで、コマンドボタンを貼り付けるようにDataGridViewを作成しましょう。

ツールボックスの中の「コモンコントロール」タブにコマンドボタンはありますが、DataGridViewは「データ」タブにあります。
そこから作成してあげるだけで、結果が表示されると思うのですが、、、、



それと、
>処理結果がテーブルへ出力されません
読み取った値を表示する以外に、「処理」とよべる処理が見当たらないのですが、、、
テーブルへの出力とは、どういった事を意味するかが、質問から読み取ることができませんでした。

上記内容で解決でなければ、補足を願います。
補足コメント
z-volantis

お礼率 99% (357/358)

こんにちは。

ネットや参考書を参照してなんとかなりそうです。
くだらない?事で悩んでしまいました^^

ご回答有難う御座いました。
投稿日時 - 2007-09-16 14:30:16
お礼コメント
z-volantis

お礼率 99% (357/358)

こんばんは。

Fillメソッドの使い方を勘違いしていたようですTT
とても良いヒントになったと思います。
もっともっとBV精進せねばいけませんね。
もう暫く苦しんでみたいとおもいます^^;

ご回答有難う御座いました。
投稿日時 - 2007-09-14 00:22:41
感謝経済
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

特集


感謝指数をマイページで確認!

ピックアップ

ページ先頭へ