![]() |
|
|
![]()
|
|
| Gamber |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 60 Регистрация: 24.3.2008 Репутация: нет Всего: нет |
Ага, понял... Ну вроде бы все исправил, вот посмотрите пожалуйста, надеюсь окончательный код, на предмет ляпов:
Это сообщение отредактировал(а) Gamber - 21.10.2008, 17:21 |
|||
|
||||
| Deniz |
|
||||||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1251 Регистрация: 16.10.2004 Где: Новый Уренгой Репутация: 8 Всего: 44 |
Gamber, не знаю как сейчас работают IBX (сам общаюсь через FIBPlus), но раньше конструкция вида:
Между добавлением к SQL параметра и указанием значения нужно было вызывать Prepare, иначе параметры не находились. Как сейчас не знаю. Далее, дополнить для всех строковых полей
Далее, год издания и цену лучше передавать не AsString а AsInteger/AsFloat. Далее, для дополнительной функциональности предлагаю разделить период даты издания:
Аналогично для цены. И последнее, лучше сначала проверить правильность введенного в Edit'ы и выдать сообщение об ошибке, а потом формировать SQL-запрос. Самый простой способ:
Это сообщение отредактировал(а) Deniz - 22.10.2008, 05:51 -------------------- "Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с) |
||||||||
|
|||||||||
| Gamber |
|
||||||||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 60 Регистрация: 24.3.2008 Репутация: нет Всего: нет |
Да вроде бы не было замечено проблем с Prepare, хотя все-таки решил прислушаться, добавил
Вот, что вышло:
Правда есть пара нюансов: 1. Если добавить конструкцию типа:
то результат всегда пустой, как я понял как раз из-за кавычек которые добавляются в начале и конце... 2. Скажите как сделать корректнее, так:
или так:
Добавлено через 9 минут и 14 секунд И еще забыл, добавил контроль ввода на поля годов и цен... Для года издания:
Для цены, вот такой вариант нашел:
Это сообщение отредактировал(а) Gamber - 22.10.2008, 17:58 |
||||||||||||
|
|||||||||||||
| Deniz |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1251 Регистрация: 16.10.2004 Где: Новый Уренгой Репутация: 8 Всего: 44 |
однозначно
Контроль для ввода года и цены, ИМХО, не нужен в таком виде. Во-первых, ты гасишь кнопки стрелка влево/вправо/home/end, delete, к которыми пользователь возможно привык. Во-вторых, существуют готовые компоненты для ввода цифр. (У тебя TJvEdit может там что-то есть). В-третьих, можно проще проверить правильность ввода через try except. -------------------- "Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с) |
|||
|
||||
| Gamber |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 60 Регистрация: 24.3.2008 Репутация: нет Всего: нет |
Ага, понял... По контроль ввода да, сначала хотел решить вопрос компонентом, MaskEdit как я понял здесь не пойдет (возникает проблема преобразования в число проблелов)... Попробую покопать JvEdit... Кстати стрелки и delete работают по-умолчанию, а Backspace прописан (#8), хотя соглашусь, это конечно не самое лучшее решение... Deniz большое тебе спасибо за помощь, сток косяков удалось откопать |
||||
|
|||||
![]()
|
| Правила форума "Delphi: Базы данных и репортинг" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |