String sql="insert into 'user_tbl(uname, pwd, email, category) values(?,?,?,?)";
try {
PreparedStatement ps=connection.prepareStatement(sql);
ps.setString(1,"user1");//User.getname();
ps.setString(2,"1234");
ps.setString(3,"[email protected]");
ps.setString(4, "user");
System.out.println("over1");
ps.executeUpdate();
JdbcUtil.release(ps);异常如下
java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0).
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:926)
at com.mysql.jdbc.PreparedStatement.checkBounds(PreparedStatement.java:3288)
at com.mysql.jdbc.PreparedStatement.setInternal(PreparedStatement.java:3272)
at com.mysql.jdbc.PreparedStatement.setString(PreparedStatement.java:4108)
at Test.main(Test.java:18)
try {
PreparedStatement ps=connection.prepareStatement(sql);
ps.setString(1,"user1");//User.getname();
ps.setString(2,"1234");
ps.setString(3,"[email protected]");
ps.setString(4, "user");
System.out.println("over1");
ps.executeUpdate();
JdbcUtil.release(ps);异常如下
java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0).
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:926)
at com.mysql.jdbc.PreparedStatement.checkBounds(PreparedStatement.java:3288)
at com.mysql.jdbc.PreparedStatement.setInternal(PreparedStatement.java:3272)
at com.mysql.jdbc.PreparedStatement.setString(PreparedStatement.java:4108)
at Test.main(Test.java:18)
楼主【zilong003】截止到2008-07-06 11:08:46的历史汇总数据(不包括此帖):
发帖的总数量:1 发帖的总分数:20
结贴的总数量:1 结贴的总分数:20
无满意结贴数:0 无满意结贴分:0
未结的帖子数:0 未结的总分数:0
结贴的百分比:100.00% 结分的百分比:100.00%
无满意结贴率:0.00 % 无满意结分率:0.00 %
敬礼!
是不是多一个单引号阿?
String sql="insert into 'user_tbl(uname, pwd, email, category) values(?,?,?,?)";
java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0). 就是单引号的错误。有了单引号,引号里的东西就是字符串,问好不被看成parameters,所以执行setString(1,"");的时候出现错误,报错就是报parameters有0个,却要set 1进去。
检查是不是有那个表,第二看数据库连接是不是连对了那个库。
用mysql时,可以用“库名.表明”的形式来表示一个表。
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'mysql.user_tbl' doesn't exist
"insert into `user_tbl`(uname, pwd, email, category) values(?,?,?,?)"
url="jdbc:mysql://localhost:3306/yhcmusic?useUnicode=true&characterEncoding=UTF-8"其中的 yhcmusic 就是使用的库的名字。
是哦,这下对了。我以前3306/后面写的是mysql但是我自己use 的数据库叫 mydb。谢谢你了。以前用oracle用多了。
下个 GUI 管理工具:http://dev.mysql.com/downloads/gui-tools/5.0.html