import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class noSelect_Test {
/*
* 非查询sql语句
*/
public static int nonSelect(String sql,String...args){
System.out.println( args.length);
//通过工具类获取数据库连接
Connection conn=DBUtils.getConnection();
PreparedStatement ps=null;
int rs = 0;
try {
ps= conn.prepareStatement(sql);
for(int i=1;i<=args.length;i++){
int c=i;
/* System.out.println( args.length);
System.out.println(i);
System.out.println(u);
ps.setString(i++, u);*/
System.out.println(i);
System.out.println(args[c-1]);
ps.setString(i, args[c-1]);
}
rs=ps.executeUpdate(sql);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
DBUtils.close(null, ps, conn);
}
return rs;
}
public static void main(String args[]){
String sql="insert into t_login (username,userpwd)values(?,?)";
nonSelect(sql,"57656","25456");
}
}
以上是操作
下面是
2
kaishi
1
57656
57656
2
25456
25456
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '?,?)' at line 1
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:409)
at com.mysql.jdbc.Util.getInstance(Util.java:384)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1054)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3566)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3498)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1959)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2113)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2562)
at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1664)
at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1583)
at com.vince.jdbc.noSelect_Test.nonSelect(noSelect_Test.java:35)
at com.vince.jdbc.noSelect_Test.main(noSelect_Test.java:49)
你们说该怎么搞