|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Динамическое создание и выполнение транзакции
раньше делала так: создавала базу, создавала приложение, кидала в дата-модуль компоненты связи с БД и, путем настройки их, коннектилась с базой и выполняла всю необходимую работу. теперь же встала задача создать транзакцию динамически внутри функции, выполнить ее там и все за собой закрыть. никогда в жизни этого не делала, поэтому нахожусь в ступоре и не знаю, КАК?)
допустим, нужна функция загрузки данных из таблички БД в DBGrid. кинула в связанный датамодуль Tdatabase, TIBTransaction, TIBDataSet, TdataSource, TIBQuery. DBGrid находится во фрейме. При показе этого фрейма будет вызываться функция, которая создаст транзакцию, DataSource и Query, все соединит как надо и выполнит просмотр, созданный в БД(или хранимую процедуру). Хелп ми! а то совсем никак не могу... Последний раз редактировалось Мариюшка, 16.07.2008 в 11:58. |
#2
|
|||
|
|||
Я вообще-то ADO использую. Там в ADOConnection есть необходимые свойства. Вот небольшой примерчик. Может поможет.
Код:
//******************************************************** Procedure Save_Data(LDB_ConnString:string); var t_sp:TAdoStoredProc; t_conn:TAdoConnection; Begin t_conn:=TAdoConnection.Create(nil); t_conn.LoginPrompt:=false; try t_conn.ConnectionString:=LDB_ConnString; try t_conn.Connected:=true; except on E:Exception do begin MESSAGEDLG(E.Message,mtError,[mbOK],0); Exit; end; end; t_sp:=TAdoStoredProc.Create(t_conn); t_sp.Connection:=t_conn; t_conn.BeginTrans; Try ----тело процедуры t_conn.RollbackTrans; //откатывает все несохраненные изменения t_conn.CommitTrans; //комитует транзакцию ---- Finally If t_conn.InTransaction then t_conn.CommitTrans; End; Finally t_conn.Free; End; End; |
#3
|
||||
|
||||
Какие компоненты?
Прежде всего, какая у тебя база и какими компонентами ты пользуешься (какие бросаешь на форму в дизайн-тайме)?
|
#4
|
|||
|
|||
MS SQL Server. Компоненты ADOStoredProc, ADOConnection. Но в данном примере я создал их прямо в тексте процедуры и там же в конце убил.
|
#5
|
|||
|
|||
Виноват. Не понял. Думал вопрос ко мне...
|
#6
|
|||
|
|||
Большое спасибо! пользовалась компонентами IBX, методом Create все посоздавала)
|