2009-05-28 11 views
0

私はC#でテキストファイルを読み込み、それをSQLデータベースに保存しようとしています。インポートに含まれる列の名前である最初の行を必要としないことを除いて、私はうまくいきます。これらを除外する最も簡単な方法は何ですか?カラム名のないSQLデータベースにテキストファイルを保存する

コードは、この

while (textIn.Peek() != -1) 
{ 
    string row = textIn.ReadLine(); 
    string[] columns = row.Split(' '); 
    Product product = new Product(); 
    product.Column1 = columns[0]; 
    etc..... 
    product.Save(); 
} 

おかげ

+0

あなたのテキストファイルはタブで区切られているようです。使用することができます: row.Split( "\ t"); – Beatles1692

答えて

0

どのようにデータをインポートしているようなものですか? C#でループして一度に1つずつ挿入する場合は、最初の挿入をスキップするようにループを構築してください!

を入力するか、最初に挿入した行を削除してください。

は詳細を取得、より多くの情報を与える...

2

ファイルを読み込むためのコードを自分で書いて、その後、なぜあなただ​​けの最初の行をスキップしないでください...インポートする場合は?

0

プログラムに最初の行の行をスキップさせるフラグをプログラムに渡します(将来の場合は1行目もデータです)。

データベースで使用されているのと同じ列名の場合は、解析して、ハードコードする代わりに列名を取得することもできます(現在行っていることを前提としています:))。

最後に、MySQLデータベースを使用していて、コマンドラインでアクセスできる場合は、任意に定義されたCSVデータをインポートするためのLOAD DATA LOCAL INFILE構文を参照してください。ここで

1

は私の提案です:

string[] file_rows; 
using(var reader=File.OpenText(filepath)) 
{ 
file_rows=reader.ReadToEnd().Split("\r\n"); 
reader.Close(); 
} 

for(var i=1;i<file_rows.Length;i++) 
{ 
var row=file_rows[i]; 
var cells=row.Split("\t"); 
.... 
} 
0

今後の参考のために、この素​​晴らしいパッケージを見て:FileHelpersライブラリ

それはsourceforgeの

上だ、私はまだリンクを追加することはできませんが、Googleは役立つはずです

人々が統合としてファイルを使用することを主張するとき、私たちの生活は少し楽になります

関連する問題