Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

IBDataSet [D6, IB6.x]


Страницы:   1 2

Jaxtor ©   (2003-03-26 18:06:00) 

Есть набор данных IBDataSet, полученный из хранимой процедуры.
Нужно его редактировать, а данные сохранять на сервере.
У меня есть метод на AfterPost записывающий изменения.

В ModifySQL у меня строка:
update savepr_atr set GTD=:GTD where SaveProd_ATRID=:SaveProd_ATRID.

Помогите, а то целый день потратил на решение и ничего не получается.


MsGuns   (2003-03-28 18:21:00) [1]

>Johnmen © (27.03.03 09:48)

Вчера не мого пробиться на "Мастака" (думал, что сервер побит вирусом ;()).
Да в общем-то я делаю без DB-Aware (типа перестраиваю мозги), а все изменения через TIBSQL (если нет параметров) или TIBQuery, который строю на ходу (у меня обычно всегда лежит один "левый" компонент такого типа, которым я и пользуюсь, модифицируя все и вся, строя запросы динамически).
Однако меня кумарит то, что после каждого такого модифицирования приходится переоткрывать все "живые" запросы (в смысле, курсоры которых в данный момент визибельны через гриды и не только), да еще и позиционироваться куда надо. Все вместе сильно "утяжеляет" код. Вот я и надеялся с помощью TIBDataSet избежать этих "перечиток" с перепозиционированием.
Интуитивно понимаю, что можно как-то проще, но, блин, пока не получается ;((


Jaxtor   (2003-03-28 15:11:00) [2]

Свой вопрос я решил через использование дополнительной
хранимой процедуры:)


Jaxtor   (2003-03-27 10:44:00) [3]

Ошибка у меня возникает когда в кавычки беру.


Соловьев   (2003-03-27 10:39:00) [4]

какой диалект?
название процедуры в кавычки.

select * from "SNAKL_PROC"


zacho   (2003-03-27 10:37:00) [5]


> Johnmen © (27.03.03 10:01)

Да я и не спорю :-)


Jaxtor   (2003-03-27 10:36:00) [6]

>в кавычки возми.
Что взять?


Соловьев   (2003-03-27 10:29:00) [7]

SQL диалект 3? в кавычки возми.


Jaxtor   (2003-03-27 10:28:00) [8]

Ошибка, значит,: "Table unknown SNAKL_PROC".
Именно Table, а не SP unknown.


Jaxtor   (2003-03-27 10:25:00) [9]

>если уж не знаешь то выбери все как ключевые...
В этом случае генерится ошибка.


Соловьев   (2003-03-27 10:09:00) [10]


> Это будет неправильно, т.к. значения ключевых полей не могут
> повторяться.

какое-то из них все равно будет уникально :)))
там условие из AND, а не из OR !!!


Jaxtor   (2003-03-27 10:07:00) [11]

>А сам ты не догадываешся где? если уж не знаешь то выбери все как ключевые...
Это будет неправильно, т.к. значения ключевых полей не могут
повторяться.


Johnmen   (2003-03-27 10:01:00) [12]

>zacho © (27.03.03 09:56)

Ну это же был просто пример !
А что лучше, что хуже зависит от конкретных обстоятельств...:)


zacho   (2003-03-27 09:56:00) [13]


> Johnmen © (27.03.03 09:48)
> В первом случае предполагается использование прямых запросов
> к БД (напр. с пом. TIBQuery),

Лучше, имхо, TIBSQL :)


Johnmen   (2003-03-27 09:48:00) [14]

>MsGuns © (26.03.03 18:27)

Серега, есть два подхода к редактированию данных : с помощью обычных контролов (как у тебя), и с помощью DB Aware контролов.
В первом случае предполагается использование прямых запросов к БД (напр. с пом. TIBQuery), во втором - редактируемых НД (напр. TIBDataSet). Можно конечно делать "смесь" данных подходов, но это, по-моему, извращение...:)


Соловьев   (2003-03-27 09:16:00) [15]

2 Jaxtor © (26.03.03 18:34)
А сам ты не догадываешся где? если уж не знаешь то выбери все как ключевые...


Jaxtor   (2003-03-26 18:34:00) [16]

>Соловьев © (26.03.03 18:31)
Я работаю с набором данных из хранимой процедуры.Generate SQL не помогает в этом случае. Где PK в этом наборе?


Соловьев   (2003-03-26 18:31:00) [17]

правой кнопкой на компонете, Dataset editor... Выставляем id, потом те поля которые надо апдейтить, а потом нажть на кнопку
Generate SQL... И будет тебе счастье...


Jaxtor   (2003-03-26 18:31:00) [18]

Сложный компонент IBDataSet... Все нужно вручную набивать.


MsGuns   (2003-03-26 18:27:00) [19]

>Соловьев © (26.03.03 18:20)
Я работаю через DBGrid, но у меня вставляются почему-то пустые записи :

Данные вносятся не в грид, а в панельке в контролы типа TEdit,TCombobox и т.д.), затем ручками создаю InsertSQL.SQL, потом даю Insert, потом Post - вставляется пустая запись. После этого то ли рефрешу, то ли нет - рез-т один и тот же
Где туплю ?


Соловьев   (2003-03-26 18:24:00) [20]

я рабоют, и никаких проблем и с параметрами манипулирую...


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо