这是我的代码:
public static void addRecord(String name, int index) throws IllegalAccessException, InstantiationException, SQLException, ClassNotFoundException {
// Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
String dbURL = "jdbc:sqlserver://localhost\\sqlexpress";
String user = "sa";
String pass = "mypass";
Connection conn = DriverManager.getConnection(dbURL, user, pass);
PreparedStatement Prep = conn.prepareStatement("insert into tblAll(AdSoyad,SiraNo) values(?,?);");
Prep.setString(2, name);
Prep.setInt(3, index);
Prep.execute();
Prep.close();
Prep = null;
conn.close();
conn = null;
}
以下是我得到的错误:
Exception in thread "main" com.microsoft.sqlserver.jdbc.SQLServerException: The index 3 is out of range.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:171)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.setterGetParam(SQLServerPreparedStatement.java:700)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.setValue(SQLServerPreparedStatement.java:709)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.setInt(SQLServerPreparedStatement.java:870)
at jmssql.JMsSQL.addRecord(JMsSQL.java:29)
at jmssql.JMsSQL.main(JMsSQL.java:19)
如果我添加 dbUrl "integratedSecurity=true;" 部分;
错误是;
com.microsoft.sqlserver.jdbc.AuthenticationJNI <clinit>
WARNING: Failed to load the sqljdbc_auth.dll cause :- no sqljdbc_auth in java.library.path
我找不到任何想法修复它,我该如何修复它?