public class JDBCTEST { @Test
public void doSearch() throws ClassNotFoundException,SQLException{
String driverName="oracle.jdbc.OracleDriver";
String url="jdbc:oracle:thin:@localhost:1521:myoracle";
String usr="scott";
String pas="tiger";
Connection con=null;
Class.forName(driverName);

con=DriverManager.getConnection(url, usr, pas);

Statement stmt=con.createStatement();
con.setAutoCommit(false);
stmt.executeUpdate("CREATE TABLE C" + "(id VARCHAR(32) ,name VARCHAR(32),age NUMBER,score NUMBER)");
stmt.executeUpdate ("INSERT INTO C" + "VALUES ('075','joyce',22,90)");
stmt.executeUpdate("INSERT INTO C" + "VALUES ('071','LILY',23,80)");
stmt.executeUpdate("INSERT INTO C" + "VALUES ('072','MOMO',22,88)");

PreparedStatement updatename = con.prepareStatement("UPDATE C SET name = ? WHERE age = ?");
updatename.setInt(3, 23);
updatename.setString(2,"DELL");
updatename.executeUpdate();
con.commit();
con.setAutoCommit(true);
String sql="SELECT C.id, C.name from C";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()){
System.out.print(rs.getString(1)+" ");
System.out.println(rs.getString(2));
}
rs.close();
stmt.close();
con.close();

}
}老是报java.sql.SQLException: ORA-00928: 缺失 SELECT 关键字
stmt.executeUpdate ("INSERT INTO C" + "VALUES ('075','joyce',22,90)");这哪里错了??

解决方案 »

  1.   

    stmt.executeUpdate ("INSERT INTO C" + "VALUES ('075','joyce',22,90)");
    ==>
    stmt.executeUpdate ("INSERT INTO C  " + "VALUES ('075','joyce',22,90)");
    ps: c与values连起来了updatename.setInt(3, 23);
    ==>
    updatename.setInt(1, 23);//索引错误!
      

  2.   

    初级菜鸟,粗枝大叶的。。
    还有楼上大哥谢谢+sorry,贴结不了,分给不出,突然发现小女子我全身家当就几分,我想给也给不出
      

  3.   

    语句可以现在数据库中试下,看能不能运行,oracle和其他数据库操作细节上还是有些区别的,用熟了就知道了