![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Не постятся данные в PostgreSQL. [D7, PostgreSQL]
denmin © (2008-03-20 10:41:00)Здравствуйте.
1) Создал на PG таблицу.
2) В Delphi7 установил Zeos как было рекомендовано.
3) Подключился и открыл таблицу, но...
Не могу записать в нее данные. Вот код
ZTable1.Open;
ZTable1.Append;
на Append вылетает ошибка: "ZTable1: Can not modify read-only dataset"
У ZConnection1 readonly выставил в False. У таблицы такого свойства вообще нет, у полей Readonly=False
пробовал через ADO. Там другое: Append срабатывает, строка появляется но при посте ругается: "Не удается втавить пустую строку. Необходим хотя бы один столбец значений. "
в этой таблице есть одна строка данный, 2 поля числовое и строковое, и еще автоинкремент и по нему primary key.
версия PG - PostgreSQL Database Server 8.2, а в моем Zeos в Protocol максимум 7.3. У Zeos не нашел новых библиотек, под PG 8.
попробовал через AdoQuery вот такой скрипт
INSERT INTO name(id, name) VALUES (20, '20');
данные пишет но ругается:"В наборе строк не определено ни одного столбца".
Ну помогите пожалуйста кто-нибудь.
такое ощущение как-будто сошел с ума и сам с собой говорю :-)
помогите пожалуйста.
Заранее благодарен.
Плохиш (2008-03-20 17:53:00) [1]
> ну пока поработаем с ODBC. а вот с biginteger что посоветуете
> делать?
При использовании OLE DB Provider соответствующие TField получают тип ftLargeint и с помощью свойств Value/AsVariant возвращается значение.
Плохиш (2008-03-20 15:10:00) [2]
> а вот с biginteger что посоветуете делать?
Зайти в настройки ODBC для PostgreSQL и там на 2й странице установить как интерпретировать int8.
denmin (2008-03-20 14:55:00) [3]ну пока поработаем с ODBC. а вот с biginteger что посоветуете делать? а нам надо big. цифры будут огромные
Плохиш (2008-03-20 14:42:00) [4]Хотя, нет есть одна, одна студенческая поделка ADO OLE не знает типа параметров TDateTime, а вторая ODBC отбрасывает у них время :-(
Плохиш (2008-03-20 14:37:00) [5]И даже с dbExpress тоже проблем не было.
Плохиш (2008-03-20 14:34:00) [6]
> denmin © (20.03.08 13:59) [6]
>
> > Плохиш ©
>
> неужели у вас получилось используя ADO или ZEOS записать
> донные в таблицу?
И с ADO OLE, и с ODBC, и с Zeos проблем не было. Сейчас использую ADO OLE.
denmin (2008-03-20 14:28:00) [7]осталось тока выяснить, почему формат PG biginteger Delphi не понимает
denmin (2008-03-20 14:24:00) [8]понял в чем дело. я использовал драйвер для подключения PG OLE, а надо было ODBC. щас усе летает. всем спасибо
denmin (2008-03-20 13:59:00) [9]
> Плохиш ©
неужели у вас получилось используя ADO или ZEOS записать донные в таблицу? я 3 дня сижу и никак. согласен был передавать данные в кверь как параметры и писать, но даже так нормально не работает. вылетает ошибка, но что характерно данные пишет.
Плохиш (2008-03-20 13:48:00) [10]
> Anatoly Podgoretsky © (20.03.08 13:40) [4]
Да, ладно, вполне нормально :-) Вот mysql это дааа...
Anatoly Podgoretsky (2008-03-20 13:40:00) [11]> denmin (20.03.2008 13:37:03) [3]
Посмотрел я на этот PostgreSQL, зря я ругался на Парадокс, это просто чудо перед ним.
denmin (2008-03-20 13:37:00) [12]> Плохиш © (20.03.08 12:09) [1]
конечно же пишу ExecSQL. и не только на INSERT но и на UPDATE. вопрос не в том что кверь пишет, а в том, что ADOTable1.Post не срабатывает. ругается.
Anatoly Podgoretsky (2008-03-20 13:31:00) [13]> denmin (20.03.2008 10:41:00) [0]
После INSERT INTO надо выдать команду на исполнение.
Плохиш (2008-03-20 12:09:00) [14]
> denmin © (20.03.08 10:41)
Postgre тут ни при делах, тут виновато полное отсутствие минимальных начальных знаний.
> попробовал через AdoQuery вот такой скрипт
> INSERT INTO name(id, name) VALUES (20, '20');
> данные пишет но ругается:"В наборе строк не определено ни
> одного столбца".
В справке написано, что метод Open применяется только для запросов, возвращаюших набор данных, типа SELECT. Для запросов, не возвращающих набор данных, следует использовать метод ExecSQL.