import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;public class DB_coustomer { public void t_coustomer(String ID_TYPE,String ID_NUMBER,String COUSTOMER_NAME,String COUSTOMER_BIRTHDAY,String COUSTOMER_SEX,String COUSTOMER_ADDRESS)throws Exception{


Class.forName("oracle.jdbc.driver.OracleDriver");
String url = "jdbc:oracle:thin:@127.0.0.1:1521:orcl";
String user = "scott";
String psw = "tiger";
Connection con = DriverManager.getConnection(url, user, psw);
Statement st = con.createStatement();
String sql = "insert into t_coustomer values(newseq.nextval, '" + ID_TYPE + "',"+ID_NUMBER+",'"+COUSTOMER_NAME+"',"+ "to_date('" + COUSTOMER_BIRTHDAY + "','yyyy-mm-dd'),'" + COUSTOMER_SEX + "','" + COUSTOMER_ADDRESS+"'" +")";
System.out.println(sql);

st.executeUpdate(sql);
}

}
他说找不到序列   这是怎么一回事啊   高手指点一下谢了 !!!!!

解决方案 »

  1.   

    你的序列不是在scott用户下建立的吧?
      

  2.   

    这样写:
    序列所属的用户.newseq.nextval   比如sys.newseq.nextval
      

  3.   

    你在数据中用select newseq.nextval from dual看看能执行不?
    不能就是没建立序列在数据库中
    create sequence newseq
    minvalue 1
    maxvalue 200000
    start with 3
    increment by 1
    cache 2;
    然后再执行你的程序
      

  4.   


    恩  看看sequence问题
      

  5.   

    oracle 中的sequence是自己创建的!而且表区间也要保持一致