日期:2014-05-20  浏览次数:20808 次

高手进来一下,新手请教SQL的问题
sql = "insert into user(id, username) values (?, ?)";
PreparedStatement ps = conn.prepareStatement(sql);
在JAVA程序中是可以的
为什么SQL语句:insert into user(id, username) values (?, ?)
这句我放在Oracle数据库中会提示无效字符

------解决方案--------------------
呵呵,看了楼上的各位回答,估计楼主没找到理想的答案,看看我的猜测,我只能猜测,因为我也不知道是不是那么回事。

比如在java中能跑,是不是因为不传值,然后程序会自动给了默认值,但直接在Oracle上跑的话,没有传值,而没有默认值,Oracle不会识别“?”是啥东东,啥类型,所以就报错了..
------解决方案--------------------
探讨
LS高手们,我换一种说法吧,为啥在JAVA程序里不用给SQL赋值,在ORACLE里需要呢