×

Loading...
Ad by
  • 予人玫瑰,手有余香:加拿大新天地工作移民诚聘求职顾问&行业导师!
Ad by
  • 予人玫瑰,手有余香:加拿大新天地工作移民诚聘求职顾问&行业导师!

记得以前俺提过用ORACLE的STORE PROCEDURE返回给。NET的DATASET,在数据库里做SQL运行的时候有数据, 结果返回到。NET就是空吗? 俺知道原因了

是因为在STORE PROCEDURE里我用SUM来对数据求集, 但是里边有NULL数据, 不知道为什么, 在SQL上显示没有任何问题, 如果只有几行返回也没有问题, 但是超过一定字符量, DATASET就为空。

我用了SUM(NVL(COLUMN NAME,0)) 就解决了。 还是没有经验, 应该对所有NULLALE的,如果条件允许, 在做SUM的时候都应该做一下NULL的转换。 我用这个方法回头修改以前的问题 都得到了解决。

我纳闷的是, 这种问题难道就我一个人遇到, 还是所有的人都写的那么严谨的STORE PROCEDURE啊。 也许SQL SERVER HANDLE 这个问题比ORACLE PROVIDER专业。 我用的是微软的ORACLE CLIENT, 也许换一个OLEDB 或者ORACLE 9I带的PROVIDER就会解决?

ANYWAY, 再有农民遇到类似问题,可把这个做一个参考,也不枉我花了一晚上挨条数据搜索研究的一番心血。
Report

Replies, comments and Discussions:

  • 工作学习 / IT技术讨论 / 记得以前俺提过用ORACLE的STORE PROCEDURE返回给。NET的DATASET,在数据库里做SQL运行的时候有数据, 结果返回到。NET就是空吗? 俺知道原因了
    是因为在STORE PROCEDURE里我用SUM来对数据求集, 但是里边有NULL数据, 不知道为什么, 在SQL上显示没有任何问题, 如果只有几行返回也没有问题, 但是超过一定字符量, DATASET就为空。

    我用了SUM(NVL(COLUMN NAME,0)) 就解决了。 还是没有经验, 应该对所有NULLALE的,如果条件允许, 在做SUM的时候都应该做一下NULL的转换。 我用这个方法回头修改以前的问题 都得到了解决。

    我纳闷的是, 这种问题难道就我一个人遇到, 还是所有的人都写的那么严谨的STORE PROCEDURE啊。 也许SQL SERVER HANDLE 这个问题比ORACLE PROVIDER专业。 我用的是微软的ORACLE CLIENT, 也许换一个OLEDB 或者ORACLE 9I带的PROVIDER就会解决?

    ANYWAY, 再有农民遇到类似问题,可把这个做一个参考,也不枉我花了一晚上挨条数据搜索研究的一番心血。
    • The same thing occurs in SQL2k but not in SQL7