用过C#通过odbc方式上传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
"32-416" odbc取出来竟然是空值.....谁能告诉我原因
A和E列都有"-";是这个原因吗?
A列随便修改,都能取出值..而E列却取出为空!
怎么回事那???
谢谢大家啊 --------------------编程问答-------------------- 这个是因为你的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 --------------------编程问答-------------------- 要确保每一列的值类型一样就不会有问题。。。 --------------------编程问答-------------------- 谢谢楼上的2位..我先试试....搞定立马给分 --------------------编程问答-------------------- maotin(liu),我试验了..还是为空值..我把
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);
可以读到。。。。 --------------------编程问答-------------------- 统一成string类型应该可以读到;
我试了一下,把第二行提到第一好像是不行,类型还是int32,
加双引号把。。。 --------------------编程问答-------------------- 你说的意思是我把E列全部加上"",还是加头一个?我这个csv里几千条数据..
我刚试了下..加了""之后,反而也读不到了!怎么回事那?我特别奇怪... --------------------编程问答-------------------- 先吃饭了,回来问您 --------------------编程问答-------------------- 如果是.txt文件可以上传..如果是csv的就不行..还是读不出来.. --------------------编程问答-------------------- 我也想知道,有哪位懂得就分享下嘛
补充:.NET技术 , C#