powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Java [игнор отключен] [закрыт для гостей] / как задать значение параметра для запроса(msacess) с помощью jdbc?
5 сообщений из 5, страница 1 из 1
как задать значение параметра для запроса(msacess) с помощью jdbc?
    #32458101
Limb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть такой запрос с параметром в msaccess

PARAMETERS [:day_of_week] Short;
SELECT t.train_id AS train_id, s.station_name AS station_, DateAdd("n",t.time_,tt.departure_time) AS time_
FROM [select w.train_id, sum(w.time) as time_ from trainroute as w, trainroute as ww
where w.train_id = ww.train_id and w.day_of_week = ww.day_of_week and w.route_id <= ww.route_id
and ww.station_id=38 and ww.day_of_week = :day_of_week
group by w.train_id ]. AS t, timetable AS tt, station AS s
WHERE (((t.train_id)=[tt].[train_id]) AND ((s.station_id)=38) AND ((tt.day_of_week)=:day_of_week));

как его запустить из java?
...
Рейтинг: 0 / 0
как задать значение параметра для запроса(msacess) с помощью jdbc?
    #32458132
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Connection conn;
int dayOfWeek;
...
String query =  "select ... where ... AND ((tt.day_of_week)=?))" ;
CallableStatement st = conn.prepareCall(query);
st.setInt( 1 , dayOfWeek);
ResultSet rs = st.executeQuery();


В st.setInt(1, dayOfWeek); единица - порядковый номер параметра, который в самом запросе обозначается через "?".
...
Рейтинг: 0 / 0
как задать значение параметра для запроса(msacess) с помощью jdbc?
    #32458174
Limb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ситуация такая - текст запроса я в код вставлять не хочу,
он хранится в access в виде объекте query
и к нему можно обращаться по имени в select запросе
предположим в msaccess объект называется test
тогда я могу написать

select * from test

и будет запущен тот большой запрос

если я нахожусь в access, то вылезет окно которое запросит параметр
а если вызываю из java то в тексте (select * from test) нет ссылок на параметр

как тогда поступить?
...
Рейтинг: 0 / 0
как задать значение параметра для запроса(msacess) с помощью jdbc?
    #32458259
Limb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вроде бы можно попробовать что-то типа
CallableStatement cstmt = con.prepareCall(
"{call test(?)}");
сейчас испытаю
...
Рейтинг: 0 / 0
как задать значение параметра для запроса(msacess) с помощью jdbc?
    #32458863
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
{call ...} означает выполнить процедуру. Попробуй указать твой query в запросе, м.б. драйвер его поймет:

Код: plaintext
1.
2.
3.
String query =  "select * from test where day_of_week=?" ;
CallableStatement st = conn.prepareCall(query);
st.setInt( 1 , dayOfWeek);


Только предварительно добавь поле с именем day_of_week в SELECT твоего Access'ного запроса.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / как задать значение параметра для запроса(msacess) с помощью jdbc?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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