首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

数据库的连接!解决方法

2012-01-20 
数据库的连接!!!!!!!!!!!packagecom.itjob.bookstore.daoimportjava.beans.Statementimportjava.sql.Con

数据库的连接!!!!!!!!!!!
package   com.itjob.bookstore.dao;

import   java.beans.Statement;
import   java.sql.Connection;
import   java.sql.DriverManager;
import   java.sql.PreparedStatement;
import   java.sql.ResultSet;
import   java.sql.SQLException;


import   com.itjob.bookstore.vo.User;

public   class   UserDao   {
public   void   registerUser(User   user)   {
String   driver= "oracle.jdbc.driver.OracleDriver ";
String   url= "jdbc:oracle:thin:@192.168.0.1:1521:orcl ";
String   username= "panyu ";
String   userpwd= "panyu329 ";
Connection   conn=null;
Statement   stm=null;
ResultSet   rs=null;
try   {

Class.forName(driver);
conn   =   DriverManager.getConnection(url,   username,   userpwd);
StringBuffer   sql=new   StringBuffer();
sql.append( "insert   into   users(user_account,user_password,user_name,user_sex,user_birth, ");
sql.append( "user_tel,user_phone,user_address,user_post,user_email,user_tag)   values   ( ");
sql.append( "sql_bookstore.nextval, ");
sql.append(user.getUser_account());
sql.append( ", ");
sql.append(user.getUser_password());
sql.append( ", ");
sql.append(user.getUser_name());
sql.append( ", ");
sql.append(user.getUser_sex());
sql.append( ", ");
sql.append(user.getUser_birth());
sql.append( ", ");
sql.append(user.getUser_tel());
sql.append( ", ");
sql.append(user.getUser_phone());
sql.append( ", ");
sql.append(user.getUser_address());
sql.append( ", ");
sql.append(user.getUser_post());
sql.append( ", ");
sql.append(user.getUser_email());
sql.append( ", ");
sql.append(user.getUser_tag());
sql.append( "   ) ");

System.out.println(sql.toString());

PreparedStatement   ps=conn.prepareStatement(sql.toString());
ps.executeUpdate();

}   catch   (Exception   e)   {
e.printStackTrace();
}finally{
if(conn!=null)
try{
conn.close();
}catch(SQLException   e){
e.printStackTrace();
}
}
}
}
这个是我写的一个连接数据库的程序,可是在运行的时候提示的却是,如下信息:
insert   into   users(user_account,user_password,user_name,user_sex,user_birth,user_tel,user_phone,user_address,user_post,user_email,user_tag)   values   (sql_book.nextval,33,33,33,1,33,33,33,null,33,33,1   )
java.sql.SQLException:   ORA-00913:   值过多

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:573)
at   oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1891)
at   oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:1093)
at   oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2047)
at   oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:1940)
at   oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2709)
at   oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:589)
at   com.itjob.bookstore.dao.UserDao.registerUser(UserDao.java:56)
at   com.itjob.bookstore.bo.UserBo.registerUser(UserBo.java:14)


at   com.itjob.bookstore.servlet.RegisterServlet.doPost(RegisterServlet.java:91)
at   javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at   javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at   org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at   org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at   org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at   org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at   org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at   org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at   org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at   org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at   org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
at   org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
at   org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at   org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at   org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at   java.lang.Thread.run(Thread.java:595)
上面这个是什么意思呢?是不是在插入数据的时候,要按照数据库定义的顺序插入呢?还是可以打乱顺序来的?


还有就是如何新建一个orcle数据库呢?

[解决办法]
兄弟,你的insert语句插入了
user_account,
user_password,
user_name,
user_sex,
user_birth,
user_tel,
user_phone,
user_address,
user_post,
user_email,
user_tag
共11个字段,但值里有
sql_book.nextval,
33,
33,
33,
1,
33,
33,
33,
null,
33,
33,
1
共12个值,所以会提示你“值过多”嘛。
你自己看看是字段少写了一个还是值多写了一个
[解决办法]
楼主是不是连错误都没看呢?一报错就找别人?有没有想过?
[解决办法]
字段数目少了
[解决办法]
值过多
对应关系有问题咯
[解决办法]
对应值和数据库的值数目不对,LZ县自己仔细看看错误,以后这种问题完全可以自己解决
[解决办法]
insert into users(user_account,user_password,user_name,user_sex,user_birth,user_tel,user_phone,user_address,user_post,user_email,user_tag) values (sql_book.nextval,33,33,33,1,33,33,33,null,33,33,1 )
java.sql.SQLException: ORA-00913: 值过多

很明显你的字段是11个,你赋值赋了12个,能对吗?这么明显的错误提示都不看

热点排行