当前位置:编程学习 > C#/ASP.NET >>

用过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#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,