组长让偶调查一个问题,问题如下:
在VB中,执行下列代码(oracle数据库)
sSql = sSql & "SELECT "
sSql = sSql & "unbincd, "
sSql = sSql & "chokbn,"
sSql = sSql & "NVL(NULLIF(teisiymd,0),99999999) AS teisiymd "
sSql = sSql & "FROM MSOKO "
Set objRs = G_OraDatabase.DbCreateDynaset(sSql, 0)If G_nDate >= objRs!teisiymd Then
Set objRs = Nothing
Exit Function
END IF现在问题是当上面的teisiymd字段是0的时候,在SQLPLUS里面是99999999,但在vb里面objRs!teisiymd竟然是0。为什么呀?当把上面SQL文中的别名由teisiymd改为其他任意的名字时,发现vb里面执行的结果是99999999.好奇怪呀,是不是数据库的设置问题?请各位大虾救救婷婷吧!分不够可以再给~~~
在VB中,执行下列代码(oracle数据库)
sSql = sSql & "SELECT "
sSql = sSql & "unbincd, "
sSql = sSql & "chokbn,"
sSql = sSql & "NVL(NULLIF(teisiymd,0),99999999) AS teisiymd "
sSql = sSql & "FROM MSOKO "
Set objRs = G_OraDatabase.DbCreateDynaset(sSql, 0)If G_nDate >= objRs!teisiymd Then
Set objRs = Nothing
Exit Function
END IF现在问题是当上面的teisiymd字段是0的时候,在SQLPLUS里面是99999999,但在vb里面objRs!teisiymd竟然是0。为什么呀?当把上面SQL文中的别名由teisiymd改为其他任意的名字时,发现vb里面执行的结果是99999999.好奇怪呀,是不是数据库的设置问题?请各位大虾救救婷婷吧!分不够可以再给~~~
以前同样的代码在sql server里面运行没有问题啊。为什么到了oracle里面出问题啦?有没有更加简单的修改办法啊,因为有好多类似的SQL文,一个个去改别名太麻烦了...
这样用好奇怪的,你换一个名字吧一个一个改吧,耐心点。
道已经偏了,还要硬钻死胡同,哪怕把胡同钻破了走通了,看起来好看吗?就象这个问题,正常解决不了,必须花点手段,而这些手段,在日后看来,或者不知情者看来,就会显得非常古怪. 代码如果写得很不自然,东打补丁西打补丁,肯定是失败的.”
agree!!!
另问:
shenting007 (st)是程序员吗?