我想和SQL函数没有什么关系吧,因为如果JDBC并不去管你用了哪些函数,也就是说,如果
某一SQL语句在数据库可以运行,那么就可以在JDBC中执行。
我只觉得JDBC的返回值会因数据库不同而不同,这个我是遇见过的。
某一SQL语句在数据库可以运行,那么就可以在JDBC中执行。
我只觉得JDBC的返回值会因数据库不同而不同,这个我是遇见过的。
解决方案 »
- 一道腾讯面试题,大家看看如何??
- 请问大家当选择一个单选按钮时,怎么禁用同组的单选按钮下的组件 啊?
- java中目录文件读取问题(附有我自己写的源程序),看怎么样修改才让我显示目录文件下的所有的文件名,我自己编译过,但它总是说找不到那个文件夹,希望高手帮我解决,我因为是新进来的,没什么分,希望各位原谅.
- image类型字段更新出错
- 找JBUILDER生成EXE文件的详细步骤或说明,在JBUILDER2006上~~
- java.lang.NoClassDefFoundError
- 局域网内为何不能通信???
- 一个头疼的问题
- 急切!! 哪里有jbuilder和oracle的数据库开发相关资料?
- !!!中文问题,up有分
- 我编了一个检测ip地址的程序,可是遇到代理服务器就不灵了,请问如何在程序中加以改变??
- 取系统日期用哪个类好 最好能给原码!!谢谢!!!
如果你的java程序要移植到不同的后台数据库上,不修改代码是完全不可能的,你的driver和connection string总要改的吧
碰到特定函数只有修改没有办法
而返回值不一样可以先转换成为某一个java类,然后再作别的处理
我的程序中碰到的日期的问题就是这样解决的
当然driver和connection是要改的,但是对于特定函数,我觉得这是jdbc作的事,你可以
举个具体例子说明吗?假如某sql语句有oracle的特定函数,那么这个sql在sqlserver就会出错,那么看SQLException就行了。
我不知道你说的是不是这个意思,把某一数据库的特定函数转换成其他数据库的特定函数。
我觉得这样没有必要,对于select count(field1),field2,field3 from table group by
field1这个语句来说,有的数据库可以运行,有的数据库group by后面加上所有查询字段才可以
运行,对于这样的情况,那是不是要程序每次都要解析sql,这样会使效率很差,得不偿失。
总之,我觉得使用者必须有一定的限制,这是当时我们公司作需求时得出的结论。请
stellaxyq指教。
例如时间的问题,sql server用#2001-1-1#来表示时间,可用作比较
而oracle 要求转换 to_date(2001-1-1,'yyyy-mm-dd')才表示时间这样你可以写一个中间函数,在程序中可以用String(或别的)来表示时间字串
遇到要和数据库交互前用parseDate(String date)来代替原来的date
parseDate根据不同的数据库把他转换成不同的表示方法,也可以一个数据库写一个类专门作这种转换,使用那各类由property的配置文件决定