Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.17;
Скачать: CL | DM;

Вниз

IBDataSet   Найти похожие ветки 

 
Jaxtor ©   (2003-03-26 18:06) [0]

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

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

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


 
Delirium^.Tremens ©   (2003-03-26 18:09) [1]

Параметры в IBDataSet подставляются только в SelectSQL (AFAIK)
:-)


 
Jaxtor ©   (2003-03-26 18:10) [2]

Ну и как мне сохранить данные?


 
MsGuns ©   (2003-03-26 18:12) [3]

т.е. надо тупо динамически формировать запрос на изменение/вставку/удаление, а затем действовать
Append/Edit-Post/Delete ?


 
Delirium^.Tremens ©   (2003-03-26 18:13) [4]

Можно, например, мастерить ModifySQL на лету, подставляя сразу нужные данные, а не параметры.
Разные способы есть.


 
Jaxtor ©   (2003-03-26 18:15) [5]

Да, просто нехорошо на такую операцию тратить так много времени.


 
Jaxtor ©   (2003-03-26 18:16) [6]

>Можно, например, мастерить ModifySQL на лету, подставляя сразу >нужные данные, а не параметры.
Похоже вы правы, а еще какие есть способы?


 
Delirium^.Tremens ©   (2003-03-26 18:16) [7]

А с помощью чего вообще предполагается данные редактировать?


 
Jaxtor ©   (2003-03-26 18:18) [8]

С помощью DBGridEh


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

Так там вообще ничего не надо подставлять. Работаешь с IBDataSet как с Table...


 
Jaxtor ©   (2003-03-26 18:20) [10]

>Так там вообще ничего не надо подставлять. Работаешь с IBDataSet
Там не все так просто как кажется...


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

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


 
MsGuns ©   (2003-03-26 18:27) [12]

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

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


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

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


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

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


 
Jaxtor ©   (2003-03-26 18:34) [15]

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


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

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


 
Johnmen ©   (2003-03-27 09:48) [17]

>MsGuns © (26.03.03 18:27)

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


 
zacho ©   (2003-03-27 09:56) [18]


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

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


 
Johnmen ©   (2003-03-27 10:01) [19]

>zacho © (27.03.03 09:56)

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


 
Jaxtor ©   (2003-03-27 10:07) [20]

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


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


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

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


 
Jaxtor ©   (2003-03-27 10:25) [22]

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


 
Jaxtor ©   (2003-03-27 10:28) [23]

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


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

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


 
Jaxtor ©   (2003-03-27 10:36) [25]

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


 
zacho ©   (2003-03-27 10:37) [26]


> Johnmen © (27.03.03 10:01)

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


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

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

select * from "SNAKL_PROC"


 
Jaxtor ©   (2003-03-27 10:44) [28]

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


 
Jaxtor ©   (2003-03-28 15:11) [29]

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


 
MsGuns ©   (2003-03-28 18:21) [30]

>Johnmen © (27.03.03 09:48)

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



Страницы: 1 вся ветка

Текущий архив: 2003.04.17;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.012 c
14-54810
Leon crom
2003-03-31 16:25
2003.04.17
про любовь...


1-54548
Archvile
2003-04-03 22:29
2003.04.17
ini-файл


1-54700
Тимохов
2003-04-04 15:32
2003.04.17
Теоретический вопрос про директиву packed


1-54654
big_bugzy
2003-04-08 13:07
2003.04.17
Что вперед создается при использовании объектов автоматизации?


4-54939
alexrush
2003-02-15 12:00
2003.04.17
Desktops & WindowStations