我正在尝试读取管道分隔的文本文件。第一行是
"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
,但收到一条错误消息,指出“至少一个参数没有值”。(顺便说一句:SELECT BewerberID FROM Historie.CSV
确实有效并且返回与 * 相同)
我该怎么做才能恢复所有列?