![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Выборка данных из базы [D7, IB6.x]
yyy © (2005-02-19 19:56:00)Помогите ПОЖАЛУЙСТА!
Я мало что понимаю в базах данных, поэтому вопрос наверное глупый,
но сам справиться не могу.
Работаю с interBase из delphi
на форме IBdatabase,IBQury,IBTransaction (read committed),
DataSet,DBGrid;
Проблема в следующем:
Если запрос выполняется без транзакции то выборка отображается в гриде,
но если с транзакцией, то посе commit грид очищается...
if(IBTransaction.Active=false)then
IBTransaction.StartTransaction;
try
IBQuery.SQL.Clear;
IBQuery.SQL.Add('текст запроса на выборку');
IBQuery.Open;
DBGrid.Update;
IBTransaction.Commit;
except
IBTransaction.Rollback;
end;
Подскажите если я что делаю не так...
Или может мне использовать другие компаненты ?
Anatoly Podgoretsky (2005-02-20 09:29:00) [1]Справка знает точно, при том справка по конкретному серверу.
cherrex (2005-02-20 08:54:00) [2]А кто точно знает чем отличается Commit от CommitRetaining?
MORA (2005-02-20 01:36:00) [3]А вообще if(IBTransaction.Active=false) это очень плохой стиль.
Иф и так в качестве аргумента использует логический тип...
Vemer (2005-02-20 01:23:00) [4]Commitvoobse ne nado dla chtenia.
Toka na vyhode iz progi/formy.
MORA (2005-02-20 01:20:00) [5]Может, вместо Commit надо CommitRetaining?
cherrex (2005-02-19 20:15:00) [6]А зачем
if(IBTransaction.Active=false)then IBTransaction.StartTransaction;?
прямо в инспекторе обьектов поставь IBTransaction.Active=True.
Desdechado (2005-02-19 20:15:00) [7]commit закрывает транзакцию (читающую или пишущую - не важно)
поэтому при чтении не нужно делать commit, если хочешь что-то с выборкой потом сделать