powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / ошибка в запросе
25 сообщений из 35, страница 1 из 2
ошибка в запросе
    #39890198
ertwet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В запрос передаю переменную строк типа, при запуске пишется ошибка: что делаю не так?

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


Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
  if(cell.getColumnIndex()==2)
                         {

                             String   naim  = cell.getStringCellValue();

                             String sql2 = "SELECT N FROM ONE Where NaimRab="+ naim;
                           ResultSet res   = statement.executeQuery(sql2);

                             if (!res.isBeforeFirst() )
                             {
                                 continue;

                             }
                             else
                                 {
                                 Znach.add("'" + res + "'");
                             }


}
...
Рейтинг: 0 / 0
ошибка в запросе
    #39890217
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы всё переписал, но долго рассказывать все косяки, можно начать с того, чтобы код выполнялся.
И для этого нужно посмотреть что за запрос вообще формируется в sql2 и попробовать его выполнить в консоли/в поле какого-то бд инструмента для запросов.
Вангую, что нужно поставить после = ' и в конке после + naim добавить + "'";
' одинарная кавычка. Раз уж там поле строковое в бд.
...
Рейтинг: 0 / 0
ошибка в запросе
    #39890229
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Автор покажи текст sql запроса который получился.
...
Рейтинг: 0 / 0
ошибка в запросе
    #39890268
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ertwet,

А кто строковую переменную экранировать будет?
Кавычки забыли поставить в запросе.
...
Рейтинг: 0 / 0
ошибка в запросе
    #39890600
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ertwet
В запрос передаю переменную строк типа, при запуске пишется ошибка: что делаю не так?

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


Если naim это String, то она должна быть в кавычках.
А вообще-то пора бы уже начать учить PreparedStatement
...
Рейтинг: 0 / 0
ошибка в запросе
    #39890699
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Щас. Щас. Через 50 постов мы дойдем до инжекции и информационной безопасности.
...
Рейтинг: 0 / 0
ошибка в запросе
    #39894358
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторчто делаю не так
Всё.
Названия переменных транслитом, обрабатываешь resultset (или что там у тебя) руками, sql в коде в виде строчки где-то в середине метода, стоковая переменная в sql не в кавычках и не параметром, sql дёргается в цикле n раз. Просто cccombo! А еще getColumnIndex() == 2.
...
Рейтинг: 0 / 0
ошибка в запросе
    #39894370
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Суть кодинга на яве не в том, чтобы дёргать sql из resultSet'ов. Ты делаешь DTO (data transfer object) - такой класс с нужными тебе полями. Потом делаешь слой с DAO (data access object), где у тебя будет твоя логика с доступом к БД (в идеале это будет через mybatis/jdbi/hibernate на худой конец какой-нибудь jdbc mapper) там ты будешь делать свои запросы и засовывать результат в DTO, желательно не руками, а какой-нибудь тулзой самопальной или из списка выше. Потом ты берешь это DTO и работаешь с ним, а не с кривыми resultSet'ами. Нужно делать минимум запросов к бд, поэтому никогда не суй запрос в цикл. Засунь список в базу и сделай выборку через in (select id from tempTable) или списком, если он не большой. Ява да и любой императивный яп даёт тебе возможность не извращаться с sql на каких-нибудь неудобных для него задачах типа key-value или деревьев, но с таким подходом ты сведешь все эти удобства ниже нуля.
...
Рейтинг: 0 / 0
ошибка в запросе
    #39894403
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster
Суть кодинга на яве не в том, чтобы дёргать sql из resultSet'ов. Ты делаешь DTO
счас запугаешь что он покинет нас).
Может у него утилита Не веб а клиент сервер.
...
Рейтинг: 0 / 0
ошибка в запросе
    #39894413
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp,

Так утилиты лучше писать как питончике, пёрле, ноде или чём-нибудь подобном. Зачем этот цирк с классами.
...
Рейтинг: 0 / 0
ошибка в запросе
    #39894421
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster
PetroNotC Sharp,

Так утилиты лучше писать как питончике, пёрле, ноде или чём-нибудь подобном. Зачем этот цирк с классами.
десктоп в java. Разве ты против?
...
Рейтинг: 0 / 0
ошибка в запросе
    #39894801
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp,

Ну, в любом случае надо будет делать DTO/DAO, просто чтобы не заехать в дурку пытаясь потом всё это поддерживать.
...
Рейтинг: 0 / 0
ошибка в запросе
    #39894894
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster
PetroNotC Sharp,

Ну, в любом случае надо будет делать DTO/DAO, просто чтобы не заехать в дурку пытаясь потом всё это поддерживать.


А потом, когда потребуется жесткая оптимизация по времени и ресурсам, выкинуть всё это на фиг. :)
...
Рейтинг: 0 / 0
ошибка в запросе
    #39894899
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Garrick,

Но тут нечего выкидывать, это базовый минимум для хоть какой-то вменяемой работы. Он не даёт какого-то дикого оверхеда.
...
Рейтинг: 0 / 0
ошибка в запросе
    #39894908
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster
Он не даёт какого-то дикого оверхеда.
дает.
...
Рейтинг: 0 / 0
ошибка в запросе
    #39894909
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster
DTO
в хибере механизм detach на 90 проц исключил необходимость в нём.
...
Рейтинг: 0 / 0
ошибка в запросе
    #39894911
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp,

автордаёт

DAO : cделали класс, вынесли всю работу с jdbc туда. Охренеть какой оверхед, пойду еще памяти куплю.
DTO : сделали класс, загнали туда одну запись, охренеть, поду куплю еще один сервак.
...
Рейтинг: 0 / 0
ошибка в запросе
    #39894912
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp,

На hibernate мир клином не сошелся.
...
Рейтинг: 0 / 0
ошибка в запросе
    #39894915
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster
На hibernate мир клином не сошелся.
а что тогда базовый минимум?
Это твоя фраза)).
Если ты в java давно, то должен знать - нет тут его.
Поэтому много платят.
...
Рейтинг: 0 / 0
ошибка в запросе
    #39894928
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp,
а что тогда базовый минимум?
Ну почему. Есть, например mybatis, который предоставляет тебе mapper jdbc <-> pojo. Вот минимум с которым можно что-то сваять и это даже потом можно будет прочитать и разобраться.
...
Рейтинг: 0 / 0
ошибка в запросе
    #39894942
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster
Вот минимум
неа.
Пол процента из кодеров тут в ветке его используют.
Увы.
...
Рейтинг: 0 / 0
ошибка в запросе
    #39894944
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster,
И я так понял, вы десктоп не писали. Там вообще ОРМ не нужен.
...
Рейтинг: 0 / 0
ошибка в запросе
    #39894947
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp,
авторИ я так понял, вы десктоп не писали. Там вообще ОРМ не нужен.
Я не против того, что orm вообще не нужен. Mybatis - это не совсем orm.
...
Рейтинг: 0 / 0
ошибка в запросе
    #39894948
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp,
авторПол процента из кодеров тут в ветке его используют.
Ну, конечно, можно перебирать resultset. Но нахрена так жить?
...
Рейтинг: 0 / 0
ошибка в запросе
    #39894951
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster
перебирать resultset. Но нахрена так жить?
вы вчера родились?
Биндинг его к гуи таблице.
Всё.
...
Рейтинг: 0 / 0
25 сообщений из 35, страница 1 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / ошибка в запросе
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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