急~~关于读取Excel值为NULL的处理问题

houyc0128 2012-04-10 03:05:30
本人现在从Excel读取数据绑定DataGridView写Sql时,其中有一列是前两列相除的结果,例如:select a,b,a/b as b1 from table此时问题出来了,当b列中有为空的项。默认为0时这样就会产生错误,不知道该怎么处理记得SQL中有isnull(a/b,0)这样的处理,ACCESS中有nz(a/b,0)的处理,但是在这里我该怎么处理,第三列是必须要的。在线等待各位支援~~~
...全文
413 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
cherrystraw 2012-05-29
  • 打赏
  • 举报
回复
急~~关于读取Excel值为NULL的处理问题,你这个问题怎么解决的,我现在也遇到了,qq:94184083 能加我qq告诉我吗,谢谢你啊啊
houyc0128 2012-04-10
  • 打赏
  • 举报
回复
问题解决了,SQL有问题,应该写作strExcel = "select time,lagDepth,TG_conc,C1_conc,C2_conc,C3_conc iif(C2_conc+C3_conc=0, 0, C1_conc/(C2_conc+C3_conc)) as gas from [sheet1$] order by lagDepth asc";
感谢上面的兄弟,虽然你的回答没解决,还是要感谢一哈的嘛~~
houyc0128 2012-04-10
  • 打赏
  • 举报
回复
不行,能这样写在SQL中吗?提示如下错误IErrorInfo.GetDescription 因 E_FAIL(0x80004005) 而失败。我的SQL贴出来strExcel = "select time,lagDepth,TG_conc,C1_conc,C2_conc,C3_concCASE WHEN ISNULL((C2_conc+C3_conc),0)=0 THEN 0 ELSE C1_conc/(C2_conc+C3_conc) END as gas from [sheet1$] order by lagDepth asc";
ILOVE_ASPNET 2012-04-10
  • 打赏
  • 举报
回复
用 case when 吧, 判断下


SELECT A,B, CASE WHEN ISNULL(B,0)=0 THEN 0 ELSE A/B END FROM Orders

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧