Код: Выделить всё
qry="insert into usr_auth(usrid,username,password,email) values(?,?,?,?)";
ps=con.prepareStatement(qry);
ps.setString(1,getUniqueID());
ps.setString(2,newUp.getUsrName());
ps.setString(3,newUp.getPwd());
ps.setString(4,newUp.getEmail());
ps.executeUpdate();
Произошло исключение базы данныхПриносим извинения за неудобства.
Сведения об исключении: com.microsoft.sqlserver.jdbc.SQLServerException:
Индекс 2 выходит за пределы допустимого диапазона. Подробности:
Индекс 2 выходит за пределы допустимого диапазона.
Stack Trace:
com.microsoft. sqlserver.jdbc.SQLServerException: индекс 2 выходит за пределы
диапазона. 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.setString(SQLServerPreparedStatement. java:1034)
в DBOps.addUser(DBOps.java:55) в RegUser.doPost(RegUser.java:13) в
javax.servlet.http.HttpServlet.service(HttpServlet.java:641) ) в
javax.servlet.http.HttpServlet.service(HttpServlet.java:722) в
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java :462)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at
org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:100)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
at
org.apache.catalina.core .StandardEngineValve.invoke(StandardEngineValve.java:118)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:403)
at
org.apache .coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:286)
at
org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:272)
atorg.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1730)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown
Source) в java.util.concurrent.ThreadPoolExecutor$Worker.run(Неизвестный
Источник) в java.lang.Thread.run(Неизвестный источник)
В базе данных у меня есть 4 столбца: usrid, имя пользователя, пароль, адрес электронной почты. имя пользователя имеет тип nvarchar(MAX).
Кажется, все в порядке, но я все еще получаю это исключение. Почему?
Строка 55 в трассировке стека — это строка ps.setString(2,newUp.getUsrName());
Подробнее здесь: https://stackoverflow.com/questions/975 ... t-of-range
Мобильная версия