Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / недопустимый индекс столбца / 3 сообщений из 3, страница 1 из 1
02.03.2012, 13:28:20
    #37688203
usmazat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
недопустимый индекс столбца
Почему-то при выдает ошибку недопустимый индекс столбца, хотя нумерация вроде бы
правильная
вот исходник
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
String big ="insert into fc_studentorders(orderid, ordernumber, orderdate,ordertype,recordid, docdate, grouporderid,active)( "
				+"select sq_studentorders.nextval orderid, ? ordernumber,to_date('?','yyyy-MM-dd') orderdate,? ordertype, " 
				+"sig.studentid recordid,to_date('?','yyyy-MM-dd') docdate,? grouporderid,? active "
				+" from fc_studentsingroups sig  " 
				+" where to_date('?','yyyy-MM-dd') between sig.begindate and sig.enddate and sig.groupid in (?)) ";
			
		System.out.println("big is "+big );
				PreparedStatement pst=conn.prepareStatement(big);
				pst.setString(1, ordernumber);
				DBUtil.setDate(pst, 2, orderdate);
				pst.setInt(3, 34);
				DBUtil.setDate(pst, 4, orderdate);
				DBUtil.setLong(pst, 5, grouporderid);
				pst.setInt(6, 0);
				DBUtil.setDate(pst, 7, orderdate);
				String grcode=Arrays.toString(groups);
				grcode=grcode.replaceAll("\\[", "").replaceAll("\\]", "").replaceAll("'", "");
				pst.setString(8, grcode);
				
				pst.executeQuery();



вот методы set date Set long
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
	public static void setDate(PreparedStatement st, int fieldNo, java.util.Date value) throws SQLException {
		if (value == null)
			st.setNull(fieldNo, Types.TIMESTAMP);
		else
			st.setDate(fieldNo, new java.sql.Date(value.getTime()));
	}
	public static void setLong(PreparedStatement st, int fieldNo, Number value) throws SQLException {
		if (value == null)
			st.setNull(fieldNo, Types.DECIMAL);
		else
			st.setLong(fieldNo, value.longValue());
	}



вот логи

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
 Connection.prepareStatement(insert into fc_studentorders(orderid, ordernumber, orderdate,ordertype,recordid, docdate, grouporderid,active)( select sq_studentorders.nextval orderid, ? ordernumber,to_date('?','yyyy-MM-dd') orderdate,? ordertype, sig.studentid recordid,to_date('?','yyyy-MM-dd') docdate,? grouporderid,? active  from fc_studentsingroups sig   where to_date('?','yyyy-MM-dd') between sig.begindate and sig.enddate and sig.groupid in (?)) ) returned net.sf.log4jdbc.PreparedStatementSpy@17d57d6
(jdbc.audit                          156 ) 849. PreparedStatement.setString(1, "000000") returned 
(jdbc.audit                          156 ) 849. PreparedStatement.setDate(2, 2012-02-14) returned 
(jdbc.audit                          156 ) 849. PreparedStatement.setInt(3, 34) returned 
(jdbc.audit                          156 ) 849. PreparedStatement.setDate(4, 2012-02-14) returned 
(jdbc.audit                          156 ) 849. PreparedStatement.setLong(5, 5461) returned 
(jdbc.audit                          93  ) 849. PreparedStatement.setInt(6, 0)
java.sql.SQLException: Недопустимый индекс столбца
	at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
	at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:162)
	at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:227)
	at oracle.jdbc.driver.OraclePreparedStatement.setIntInternal(OraclePreparedStatement.java:3970)
	at oracle.jdbc.driver.OraclePreparedStatement.setInt(OraclePreparedStatement.java:3961)
	at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.setInt(DelegatingPreparedStatement.java:116)
	at net.sf.log4jdbc.PreparedStatementSpy.setInt(PreparedStatementSpy.java:420)
	at com.ieml.servlets.faculty.SuccessfulCompletitionAddGroupsServlet.doPost(SuccessfulCompletitionAddGroupsServlet.java:73)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
...
Рейтинг: 0 / 0
02.03.2012, 13:43:03
    #37688243
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
недопустимый индекс столбца
to_date('?','yyyy-MM-dd')
кавычки не лишние? Зачем вообще конвертить в дату, если параметр уже дата?
...
Рейтинг: 0 / 0
02.03.2012, 13:57:10
    #37688289
usmazat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
недопустимый индекс столбца
да точно в них было дело
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / недопустимый индекс столбца / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]