这个是因为你的E列第一行,是数字,通过odbc读取出来自动设定为Int32类型,所以读取第二行时存在“-”这个是string类型,所以读不到,只能为空改成这样就好了,加两个“”
A , B , C , D , E , F , G , H
2006-11,Referral,t0000936,eram0351,"0507",Mary,Asma,150
2006-10,PAP,t0001434,broo0032,32-416,,Rouleau,10
A , B , C , D , E , F , G , H
2006-11,Referral,t0000936,eram0351,"0507",Mary,Asma,150
2006-10,PAP,t0001434,broo0032,32-416,,Rouleau,10
2006-10,PAP,t0001434,broo0032,32-416,,Rouleau,10
放第一行也不行
这个是CSV文件:
A,B,C,D,E,F,G,H
2006-11,Referral,t0000936,eram0351,"0507",Mary,Asma,150
2006-10,PAP,t0001434,broo0032,32-416,,Rouleau,10
这个是读取:
string connStr = @"Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=E:\开发\C#\CSV;Extensions=asc,csv,tab,txt;";
OdbcConnection conn = new OdbcConnection(connStr);
DataSet ds = new DataSet();
string sql = "SELECT * FROM 1.csv ";
OdbcDataAdapter odbcCSVDataAdapter = new OdbcDataAdapter(sql, conn);
odbcCSVDataAdapter.Fill(ds);
可以读到。
我试了一下,把第二行提到第一好像是不行,类型还是int32,
加双引号把
我刚试了下..加了""之后,反而也读不到了!怎么回事那?我特别奇怪...