Главная страница
    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
14-54870
RIMMER
2003-04-01 22:52
2003.04.17
В чем подвох?


6-54784
Sirus
2003-02-17 07:35
2003.04.17
Можно ли получить значение переменной JavaScript из TWebBrowser??


14-54881
Дмитрий К.К.
2003-04-02 06:30
2003.04.17
Именинники 2 апреля


14-54848
Neznaika
2003-04-01 13:43
2003.04.17
Прозрачный фон в RichEdite


3-54480
Viktor1
2003-03-30 15:53
2003.04.17
Помогите, как такое сотворить? ADOTable, Delphi6.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский