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

问个关于java.sql类小问题
现在知道以下几个方法:
boolean   execute()      
                    在此   PreparedStatement   对象中执行   SQL   语句,该语句可以是任何种类的   SQL   语句。  
ResultSet   executeQuery()  
在此   PreparedStatement   对象中执行   SQL   查询,并返回该查询生成的   ResultSet   对象。  
int   executeUpdate()  
                    在此   PreparedStatement   对象中执行   SQL   语句,该语句必须是一个   SQL   INSERT、UPDATE   或   DELETE   语句
===================================================
现在有条SQL是:
INSERT   INTO   B_TABLE
SELECT   *   FROM   A_TABLE
where   a...

为什么我用execute()和executeQuery()  
都不行呢?

错误提示如下:
missing   value     keyword

------解决方案--------------------
你把代码贴出来,看看有什么问题。

你前面不是已经说的很清楚了吗,select用executeQuery() ,INSERT、UPDATE 或 DELETE用executeUpdate()
------解决方案--------------------
如果两个表中的字段是一样的是可以的。但是如果不一样就不行了
------解决方案--------------------
把你的所有错误提示贴出来,有可能跟本就不是这里错了
------解决方案--------------------
String sql1 = "INSERT INTO B_TABLE "
       + "SELECT * FROM A_TABLE "
       + "where VC2KIND = ? ";
prep = con.prepareStatement(sql1);
prep.setString(1, datBegin);
prep.setString(2, datEnd);
prep.setInt(3, 1);

你这里好像有问题!sql1 中只有一个“?”,为什么 prep 设置了三个参数?