Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.01.21;
Скачать: CL | DM;

Вниз

TTable   Найти похожие ветки 

 
Laimer   (2001-12-18 11:42) [0]

Можноли очистить таблицу БД от записей не применяя Exclusive


 
panov ©   (2001-12-18 11:48) [1]

Query1.Sql.Text := "DELETE FROM mytable";
Query1.Execute;


 
Laimer   (2001-12-18 11:52) [2]

У меня используется там Ttable, как с ним можно эт провернуть

panov.а за ответ спасибо тоже пригодиться))


 
panov ©   (2001-12-18 11:58) [3]

Тогда только в цикле
while not Table1.Eof do
begin
Table1.Delete;
end;


 
Laimer   (2001-12-18 12:11) [4]

Спасибо


 
tns ©   (2001-12-18 13:24) [5]

есть функция стандартная функция Empty Table.
with MyTable do
begin
Active := False;
DatabaseName := "";
TableName := "123.dbf";
TableType := dbase;
EmptyTable;
end;


 
tns ©   (2001-12-18 13:25) [6]

есть стандартная функция Empty Table.
with MyTable do
begin
Active := False;
DatabaseName := "";
TableName := "123.dbf";
TableType := dbase;
EmptyTable;
end;


 
panov ©   (2001-12-18 13:41) [7]

>tns © (18.12.01 13:25)
"...не применяя Exclusive"


 
Deniz ©   (2001-12-18 14:33) [8]

>panov © (18.12.01 11:58)
>Тогда только в цикле
>while not Table1.Eof do
>begin
> Table1.Delete;
>end;
Заменить
while not Table1.Eof do на while not Table1.IsEmpty do


 
panov ©   (2001-12-18 14:42) [9]

>Deniz
Абсолютно без разницы...


 
Deniz ©   (2001-12-18 15:56) [10]

>panov © (18.12.01 14:42)
А если ты стоишь не на первой записи?
В любом случае у меня проверяется пустота таблицы, а у тебя конец:)


 
panov ©   (2001-12-18 16:09) [11]

Посмотри в Help DataSet.Eof:
Test Eof (end-of-file) to determine if the cursor is positioned at the last record in a dataset. If Eof is True, the cursor is unequivocally on the last row in the dataset. Eof is True when an application:

- Opens an empty dataset.
- Calls a dataset’s Last method.
- Call a dataset’s Next method, and the method fails (because the cursor is already on the last row in the dataset).
- Calls SetRange on an empty range or dataset.


 
Val ©   (2001-12-18 16:25) [12]

>panov © (18.12.01 16:09)
на первую запись стать надо бы, думаю:
TDataSet.Delete
Deletes the active record and positions the cursor on the next record.


 
panov ©   (2001-12-18 18:08) [13]

>Val © (18.12.01 16:25)
Точно. Вначале - Table1.First;


 
Deniz ©   (2001-12-19 08:51) [14]

>panov © (18.12.01 16:09)
А причем тут Help? Особенно - Opens an empty dataset если в условии сказано что Table не пустой изначально.
В любом случае логично проверять EOF при проходе по всем записям с какими-то изменениями, а при удалении всех записей логичнее проверять IsEmpty, потому как задача то в этом и состоит: "Удалять пока не кончатся записи(таблица опустеет)."
Я к чему все это, если вдруг во время выполнения цикла произойдет Next или Locate на следующие записи(теоретически такое возможно), то тогда EOF удалит не все записи, или в цикле надо поставить First???


 
panov ©   (2001-12-19 09:05) [15]

Deniz © (19.12.01 08:51)

Согласен.
Хотя в цикле навряд ли курсор сместится:-)



Страницы: 1 вся ветка

Текущий архив: 2002.01.21;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.012 c
4-66388
YUS
2001-11-18 19:07
2002.01.21
SetWindowsHookEx


6-66327
Юра
2001-10-29 13:18
2002.01.21
О TIdMappedPortTCP


1-66300
vitya
2002-01-04 16:55
2002.01.21
Console


7-66382
Dmitri
2001-10-02 09:03
2002.01.21
Попробуем запрограммировать сканер


6-66331
Роллер
2001-10-25 10:51
2002.01.21
Windows SocketError: что за ошибки?