package org.zjl.preparedstatementdem01;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.text.SimpleDateFormat;
public class PreparedStatementDem01 {
public static final String DBDRIVER="org.gjt.mm.mysql.Driver";
public static final String DBURL="jdbc:mysql://localhost:3306/zjl";
public static final String DBUSER="root";
public static final String DBPASS="mysqladmini";
public static void main(String[] args)throws Exception {
Connection conn=null;
PreparedStatement pstmt=null;
String name="邹继林";
String password="www.mldnjava.cn";
int age=30;
String sex="男";
String birthday="2007-08-27";
java.util.Date temp=null;
temp=new SimpleDateFormat("yyyy-MM-dd").parse(birthday);
java.sql.Date bir=new java.sql.Date(temp.getTime());
String sql="INSERT INTO user(name,pasword,age,sex,birthday)"
+"VALUES(?,?,?,?,?)";
Class.forName(DBDRIVER);
conn=DriverManager.getConnection(DBURL,DBUSER,DBPASS);
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, name);
pstmt.setString(2, password);
pstmt.setInt(3, age);
pstmt.setString(4, sex);
pstmt.setDate(5,bir);
pstmt.executeUpdate(); 一直报此行有错误。
pstmt.close();
conn.close();
}
}
尘封记忆的十月是对的,就是拼写错误,pasword应该为password.有意思的是这种错误IDE不会指出来,但是在注释里面会指出来。
你把Class.forName(DBDRIVER);这句改成Class.forName(DBDRIVER).newInstance();试试看,还有能不能具体贴一下错误咯
Exception in thread "main" com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'pasword' in 'field list'
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.Util.getInstance(Util.java:386)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1054)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4190)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4122)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2570)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2731)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2818)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2157)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2460)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2377)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2361)
at org.zjl.preparedstatementdem01.PreparedStatementDem01.main(PreparedStatementDem01.java:35)
Unknown column 'pasword' in 'field list'
晕,这个字段写错了吧