Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/28: Рейтинг темы: голосов - 28, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 07.12.2009
Сообщений: 5

Delphi + Oracle

07.12.2009, 11:16. Показов 5512. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день уважаемые!!!!

Возникла проблемка:

1. Создал прогу на Delphi, соединение с СУБД Oracle работает (выводит даные с табл.);
2. Пытаюсь сделать Insert - не получается;
3. Запрос в самой СУБД через SQL строку отлично выполняется.
4. В Delphi уже запрос и в Edit вывожу проверяю - всё так.
5. Delphi выдаёт ошибку "ORA - 00911: invalid character" - но как такое может быть если запрос в СУБД выполняется.

Кто может подскажите в чём проблема.

За ранее благодарен!!!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.12.2009, 11:16
Ответы с готовыми решениями:

Delphi+Oracle
Есть интерфейс бд в Delphi, но подключен к базе данных в Access. Вопрос: Могу ли я переподключить этот интерфейс к базе данных в Oracle?

Delphi и Oracle
Всем привет, подскажите пожалуйста, как в Delphi получить текст package body из Oracle, изменить его, сохранить и перекомпелировать.

Delphi и Oracle
На моем компьютере установлена OracleXE11, на этом же компе написал клиентскую программу для ввода/вывода информации в базу. Использовал...

9
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
07.12.2009, 11:42
Alex-kytukin, покажи свой запрос
0
0 / 0 / 0
Регистрация: 07.12.2009
Сообщений: 5
07.12.2009, 11:52  [ТС]
Delphi
1
2
3
4
ADOQuery1.SQL.Text:='INSERT INTO DATA (HOMER, HADIUWLA, DATA, ZVAHUE, N_I_B) VALUES ('+Edit1.Text+', '''+ComboBox1.Items.Strings[ComboBox1.ItemIndex]+''', TO_DATE ('''+datetostr(DateTimePicker1.Datetime)+''',  ''DD.MM.YYYY''), '''+ComboBox3.Items.Strings[ComboBox3.ItemIndex]+''', '''+Edit19.Text+''');';
 
 
      Form2.ADOQuery1.ExecSQL();
Добавлено через 1 минуту
Но дело в том что даже это:

Delphi
1
ADOQuery1.SQL.Text:='INSERT INTO DAT1 (HOMER) VALUES ('+Edit1.Text+');';
делать не хочет

Добавлено через 2 минуты
может ли быть проблема с набором символов??? (на украинском ввожу).

Хотя СУБД всё воспринимает
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
07.12.2009, 12:08
Alex-kytukin, а у тебя в словах нет апострофов? точка с запятой не нужна... а если просто запрос вызвать с базе, то работает нормально?

Цитата Сообщение от Alex-kytukin Посмотреть сообщение
Form2.ADOQuery1.ExecSQL();
а это у тебя вызов выполнения запроса?
1
0 / 0 / 0
Регистрация: 07.12.2009
Сообщений: 5
07.12.2009, 12:40  [ТС]
Спасибо большое!!! В сотый раз заставил меня перелапатит запрос.

Form2.ADOQuery1.ExecSQL(); - это выполнение запроса (без возврата данных)

Через Active если данные выводятся назад.

Да, соединение всё отлично выводит данные назад. Там как раз использую Active.

Но есть одно но: в СУБД запрос с ";" выполняется, а вот в Delphi она не нужна.
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
07.12.2009, 12:48
Alex-kytukin,
Цитата Сообщение от Lord_Voodoo Посмотреть сообщение
точка с запятой не нужна...
это я уже тебе говорил
0
0 / 0 / 0
Регистрация: 07.12.2009
Сообщений: 5
07.12.2009, 13:40  [ТС]
Да ты оказался прав. Благодарен тебе.

Как насчёт формата "DATE" в Oracle?

Ввести дату всё понятно, а вот как насчёт времени. Заменяем на HH:MI:SS в запросе для ввода времени, но в СУБД всё равно вводит свои данные (а именно первое число 12 месяца текущего года). Плюс необходимо учитывать AM и PM.

Конечно обойти это всё легко. Но просто интересно как с этим типом данных работать.
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
07.12.2009, 13:42
ну так пиши текущую дату вместе со временем, хотя я для времени использовал char(5)
0
0 / 0 / 0
Регистрация: 07.12.2009
Сообщений: 5
07.12.2009, 13:46  [ТС]
Вот запрос:

Delphi
1
ADOQuery1.SQL.Text:='INSERT INTO DATA VALUES ('+Edit1.Text+', '''+ComboBox1.Items.Strings[ComboBox1.ItemIndex]+''', TO_DATE ('''+datetostr(DateTimePicker1.Datetime)+''',  ''DD.MM.YYYY''), TO_DATE ('''+Edit2.Text+' AM'',  ''HH:MI AM''), '''+ComboBox3.Items.Strings[ComboBox3.ItemIndex]+''', '''+Edit19.Text+''')';
Добавлено через 52 секунды
В базе необходимо время отдельно.

Добавлено через 2 минуты
Конечно можно и char(5) и VARCHAR2 и .....
Это всё ясно, я так и сделал. Но просто в типе Date возможно использовать только время.
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
07.12.2009, 13:53
Alex-kytukin, честно говоря, я не знаю, как юзать только время в дате... но возникает сразу вопрос, если дата и время завязаны, зачем плодить поля, если все же надо, тогда либо игнорируй дату, которую пишет оракл, либо пиши правильну, но не выводи на экран, а еще лучше, делай время строкой... потом даже если нужны будут вычисления, то просто конвертнешь в дату... но если все же будешь юзать строку, тогда надо часы выравнивать 0...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.12.2009, 13:53
Помогаю со студенческими работами здесь

oracle+Delphi
Здравствуйте ребята. Установил Oracle10g на Windows server 2003 при помощи видео http://skillopedia.ru/material.php?id=4996 по инструкции ....

Delphi and ORACLE
Здравствуйте друзья! в общем у меня головняк! не работает процедура на изменение записи! Никакой ошибки не выходит! всё отлично...

Подключение к Oracle из Delphi 7
Добрый день, Уважаемые Форумчане! Подскажите, пожалуйста, как подключится к БД Oracle, находящейся на удаленном компьютере, через Delphi...

Delphi 2010 + Oracle 10 XE
Здравствуйте, используется соединение ado с oracle. Клиент на delphi. Формируется запрос на выборку select * from Table1 where...

Delphi & ORACLE
Здравствуйте! У меня вот такая ни по теме проблема! хранимая процедура на изменение записи в Oracle 10g работает отлично, а в Oracle 11g он...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Данные берутся из. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru