Форум: "Базы";
Текущий архив: 2005.03.20;
Скачать: [xml.tar.bz2];
Вниз
Выборка данных из базы Найти похожие ветки
← →
yyy (2005-02-19 19:56) [0]Помогите ПОЖАЛУЙСТА!
Я мало что понимаю в базах данных, поэтому вопрос наверное глупый,
но сам справиться не могу.
Работаю с 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;
Подскажите если я что делаю не так...
Или может мне использовать другие компаненты ?
← →
cherrex © (2005-02-19 20:15) [1]А зачем
if(IBTransaction.Active=false)then IBTransaction.StartTransaction;
?
прямо в инспекторе обьектов поставь IBTransaction.Active=True.
← →
Desdechado © (2005-02-19 20:15) [2]commit закрывает транзакцию (читающую или пишущую - не важно)
поэтому при чтении не нужно делать commit, если хочешь что-то с выборкой потом сделать
← →
MORA (2005-02-20 01:20) [3]Может, вместо Commit надо CommitRetaining?
← →
Vemer © (2005-02-20 01:23) [4]Commit voobse ne nado dla chtenia.
Toka na vyhode iz progi/formy.
← →
MORA (2005-02-20 01:36) [5]А вообще if(IBTransaction.Active=false) это очень плохой стиль.
Иф и так в качестве аргумента использует логический тип...
← →
cherrex © (2005-02-20 08:54) [6]А кто точно знает чем отличается Commit от CommitRetaining?
← →
Anatoly Podgoretsky © (2005-02-20 09:29) [7]Справка знает точно, при том справка по конкретному серверу.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.03.20;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.039 c