|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
19.03.2011, 20:28 | #1 |
Пользователь
Регистрация: 21.10.2009
Сообщений: 22
|
Есть задание сделать базу в оракле и упралять через програмулину написанную на делфи. Пока получилось только связать связать все и сделать добавление данных. Добавлял данные через Едит-ы и ДБЛукапБокс-ы, данные для которых брал из справочников БД. В базе есть куча связей. После чего написал запрос на вывод только нужных данных ДБГрид, без всяких внешних ключей и ключевых полей.
Получил нужный список, но как его редактировать ни как не могу придумать. Надо чтобы данные выбранные в ДБГрид-е редактировались в так же в Едит-ах и выберались в ДБЛукапБокс-ах, но для этого надо как то получить ID выбранной записи или есть какой то другой способ? Может кто еще посоветует где есть книга какая-нибудь или информация по программированию Delphi + Oracle? Или может хоть кто подскажет, что я делаю не правильно. Хочу например удалить строчку, пишу на действие кнопки: Код:
ORA-00933: SQL command not properly ended Последний раз редактировалось Stilet; 21.03.2011 в 14:25. |
21.03.2011, 14:19 | #2 |
Форумчанин
Регистрация: 27.09.2010
Сообщений: 376
|
Здравствуйте
Исходя из этого Скорее всего в нижеприведенной строке в конце надо поставить точку с запятой, т.е. Код:
P.S. Это не Oracle это SQL, хотя в Oracle свои особенности и я их не знаю. Последний раз редактировалось OlegVE; 21.03.2011 в 14:21. |
21.03.2011, 14:27 | #3 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
KOD_OBORUDOVANIYA какого типа? если строкового то пользуйся QuotedStr() для заключения значения Эдита в ковычки.
I'm learning to live...
|
21.03.2011, 15:45 | #4 | |
Пользователь
Регистрация: 21.10.2009
Сообщений: 22
|
Цитата:
у KOD_OBORUDOVANIYA тип number Последний раз редактировалось Stilet; 23.04.2011 в 15:47. |
|
21.03.2011, 18:18 | #5 |
Форумчанин
Регистрация: 27.09.2010
Сообщений: 376
|
Здравствуйте
1. Попробуйте поставить везде пробелы, после: 'Delete ' 'From OBORUD ' 'Where ' 2. Это видимо какая-то особенность Oracle SQL. Попробуйте в коде просто написать: Код:
3. А здесь 'KOD_OBORUDOVANIYA = ' наоборот, удалите пробелы. Ваш SQL запрос обрабатывает ни Delphi, ни ADO, а Ваш сервер Oracle. Не получится - учите Oracle SQL. До свидания |
22.04.2011, 20:35 | #6 |
Пользователь
Регистрация: 21.10.2009
Сообщений: 22
|
OlegVE спасибо за советы, но что видимо я делаю не так, не заработало)) Пошел другим путем, кинул компонент дбНавигатор, скрыл его, а на обычную кнопку повесил чтобы выполнялось нажатие на удаления на навигаторе.
Но до сих пор не могу придумать как редактирование данных организовать. Кто что подскажет? Как сделать чтобы данные выделенной строки попадали в Эдиты, а потом после редактирования изменения вносились в базу? |
22.04.2011, 20:46 | #7 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
можно открывать ТОЛЬКО запросы с выборкой данных - т.е. ТОЛЬКО где данные выбираются через SELECT .. для манипуляций данными (INSERT ... / UPDATE ... / DELETE ..) нужно использовать метод ExecSQL; Код:
ну и насчёт кавычек для текстовой константы, если поле текстовое, это абсолютно в точку! |
|
22.04.2011, 22:02 | #8 | |
Пользователь
Регистрация: 21.10.2009
Сообщений: 22
|
Цитата:
Теперь надо что то с редактированием придумать Что я делаю не так? Пытаюсь изменить название оборудования, ID которого 52 Код:
Если Слово процесс меняю на число, то все работает без ошибок тип столбца NAIM - VARCHAR2 причем если выполняешь запрос не через делфи, то все отлично проходит и ошибок не вылезает. Вот такой запросик выполняется Код:
Последний раз редактировалось Stilet; 23.04.2011 в 15:49. |
|
23.04.2011, 08:15 | #9 | ||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Вы шутите? Или издеваетесь?
Цитата:
Цитата:
Подсказываю - текстовые константы должны быть заключены в одинарные кавычки! И об этом в этой теме Вам уже НЕОДНОКРАТНО писали! надо или так: Код:
Код:
|
||
23.04.2011, 11:48 | #10 | |
Пользователь
Регистрация: 21.10.2009
Сообщений: 22
|
Цитата:
Теперь еще проблема появилась, не могу поменять ширину столбца в DBGrid, чтобы скрыть ID. В StringGrid все просто делалось Код:
Или можно как то по другому получить ID выделенной строки при нажатии на нее? если перед этим запросом выводятся только нужные поля. Либо как вообще лучше организовать, чтобы редактирование данных осуществлялось через поля Edit? Последний раз редактировалось Stilet; 23.04.2011 в 15:52. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблемы с установкой Oracle 11g Database | Altera | Софт | 5 | 08.02.2011 09:10 |
Delphi+Oracle | habias2006 | БД в Delphi | 3 | 09.08.2010 17:47 |
Delphi и Oracle | Ensoph | БД в Delphi | 2 | 29.06.2009 14:41 |
Решаю любые проблемы. В плане программирования. | Vedrus | Фриланс | 1 | 31.05.2008 04:57 |
delphi + oracle | Toxa | Общие вопросы Delphi | 3 | 18.12.2006 14:52 |