![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
IBDataSet [D6, IB6.x]
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]я рабоют, и никаких проблем и с параметрами манипулирую...