2

パイプで区切られたテキストファイルを読み込もうとしています。最初の行は

"BewerberID"|"Druck"|"Druckdatum"|"HistorieID"|"Bearbeiter"|"BewZuBewGruppeID"|"Bemerkung"
"12586"|"EinladungOFD.dot                                  "|"03.02.2003 00:00:00"|"162"|"Petersen  "|"20295"|"ungültig"
"12807"|"EinladungOFD.dot                                  "|"27.02.2003 00:00:00"|"258"|"Petersen  "|"20617"|""
"12807"|"EinladungOFD.dot                                  "|"28.02.2003 00:00:00"|"270"|"Petersen  "|"20617"|""

以下は私が使用しているLINQpadスクリプトです。完全に実行されますが、最初の列からのみ値を返します。

string mySelectQuery = "SELECT * FROM Historie.CSV";
OleDbConnection connection = new OleDbConnection
("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\;" + 
   "Extended Properties=\"text;HDR=YES;IMEX=1;FMT=Delimited(|)\"");
connection.Open();
OleDbCommand cmd = connection.CreateCommand();
cmd.CommandText = mySelectQuery;
OleDbDataReader rdr = cmd.ExecuteReader();
rdr.Dump();
rdr.Close();
connection.Close();

これにより、最初の列のみが返されます。

BewerberID 
12586 
12807 
12807

列名に切り替えようとしましSELECT BewerberID, Druck FROM Historie.CSVたが、「少なくとも1つのパラメーターに値がありません」というエラーが表示されます。(BTW:SELECT BewerberID FROM Historie.CSV動作し、*と同じように戻ります)

すべての列を元に戻すにはどうすればよいですか?

4

1 に答える 1

4

という名前のファイルを(この場合は)schema.iniと同じフォルダーに作成します。ファイルの内容は次のとおりです。Historie.CSVC:\

[Historie.csv]
Format=Delimited(|)
ColNameHeader=True

次に、コードを再実行してみてください。

いくつかのリンク:

于 2012-12-04T10:16:03.673 に答える