Главная страница
    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.5 MB
Время: 0.007 c
3-54516
korvin
2003-03-29 07:54
2003.04.17
Фокус по колумнам dxDBGrid`а никак не проходит.


1-54636
BetMaster
2003-04-08 08:17
2003.04.17
Как сделать выдвигающуюся панель?


1-54599
LSN
2003-04-07 15:54
2003.04.17
AutoCad or 3DStudio&Delphi


1-54550
Freeze
2003-04-04 12:06
2003.04.17
TRichEdit


1-54737
spogi
2003-04-04 00:41
2003.04.17
конкретный символ в TMemo ...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский