现在知道以下几个方法:
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
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
解决方案 »
- java编写塔防游戏(多版本)附带源码、注释、简单讲解
- Java复写了父类的方法后,怎么可以在跳出父类方法的同时,子类中该方法复写的内容也不执行..具体代码见下
- java里将数据库产生的实体类对象放入List出现问题
- java 为什么jTextField.setText()不能及时更新界面内容
- String str = [折扣] > 10 and [优惠] > 20 怎么取出所有[]中的所有数据啊,就是取得折扣、优惠
- Struts 怎么理解
- char+string 这里的加号重载过了?? src里的源代码在哪里??
- JMenuItem监听的问题
- 如何设置JTable的行标题、列标题?
- 急!求助,JAVA中如何同时创建多个进程??
- java nio
- 栈帧是什么?
=======================
现在我是一条sql里面同时包含了insert和select,目的是把表A中的相关数据select出来再insert表B中------------------
代码如下: ...
con.setAutoCommit(false);
String sql = "SELECT DATBEGIN, DATEND, VC2KIND FROM A_TABLE ";
prep = con.prepareStatement(sql);
rs = prep.executeQuery();
while (rs.next()) {
datBegin = rs.getString("DATBEGIN");
datEnd = rs.getString("DATEND");
item = rs.getString("VC2KIND");
}
...
if (item.equals("-1")) {
...
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);
//prep.execute();//??
//rs = prep.executeQuery();//??
...
insert into a .... select ... from b ...然后用 execute 或者 executeUpdate。
=========================
to:xiaoniaoxiangfei() 表A和B字段什么的都完全一样,只是表名不一样
=======================
to :wxno1() 错误如下:
似乎很多,能帮忙分析下么?或者给个分析方法的提示,谢谢java.sql.SQLException: ORA-00926: missing VALUES keyword at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:579)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1894)
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:109
4)
at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.ja
va:2132)
at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.jav
a:2015)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStateme
nt.java:2877)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePrepar
edStatement.java:608)
at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(Del
egatingPreparedStatement.java:101)
public test() {
}
public boolean test(){
boolean flag=false;
Connection conn = null;
PreparedStatement pstam = null;
//连接数据库的,换成你自己的
PoolSql psql = new PoolSql();
try {
conn = psql.getDBConnection();
StringBuffer sql = new StringBuffer();
sql.append("insert into test1 "); ///要插入数据的表
sql.append("select * from test"); ///查询数据的表
sql.append("where userName='123' "); //条件
pstam = conn.prepareCall(sql.toString());
int i = pstam.executeUpdate();
if(i>0)
{
flag=true;
}
} catch (Exception ex) {
ex.printStackTrace();
}finally{
psql.Close(pstam);
psql.Close(conn);
}
return flag;
}
public static void main(String args[])
{
test test = new test();
System.out.println(test.test());
}
}
+ "SELECT * FROM A_TABLE "
+ "where VC2KIND = ?";
prep = con.prepareStatement(sql1);
prep.setString(1, datBegin);
prep.setString(2, datEnd);
prep.setInt(3, 1);你这里好像有问题!sql1 中只有一个“?”,为什么 prep 设置了三个参数?
不好意思,我的这段代码省略了部分,包括sql语句,原来的sql是有3个参数的,单独执行sql时没有出错