Форум: "Базы";
Текущий архив: 2006.03.12;
Скачать: [xml.tar.bz2];
ВнизКак правльно? в чем может быть ошибка? Найти похожие ветки
← →
Dataqbazer (2006-01-18 22:39) [0]Доброго времени суток
Могут ли возникнуть ошибки в программе, если делать так:
tblMain.RecNo:=1
while not tblMain.eof
begin
/////
dmMain.next;
end;
или так правильно:
tblMain.Requery;
while not tblMain.eof
begin
/////
dmMain.next;
end;
Объясните чем отличаются эти два варианта? Могут ли возникнуть ошибки при работе с йым вариантом?
Таблица связана с другой таблицей.
← →
unknown © (2006-01-18 22:51) [1]Что есть tblMain ?
ЗЫ:
А делать надо так:
tblMain.First;
while not tblMain.eof do
...
← →
аматор © (2006-01-18 22:54) [2]Привет..
А может краше так :)
tblMain.First;
while not tblMain.eof then begin
/////
dmMain.next; (может tblMain.next)
end;
← →
Dataqbazer (2006-01-18 22:55) [3]Есть две таблицы, связаны между собой.
TBL_TITLE->TBL_MAIN
Акцессовские таблицы, работаю через ADO.
А что делает Requery?
Мне нужно перебрать все записи в таблице, которые относятся к записи в главной таблице.
← →
Dataqbazer (2006-01-18 22:56) [4]
> dmMain.next;
Ух, описался просто
Так как правильно будет? И какие могут возникнуть исключения в использовании того, что я написал?
← →
Johnmen © (2006-01-18 23:47) [5]>А что делает Requery?
Requery+F1
>Так как правильно будет?
[1], [2]
>И какие могут возникнуть исключения в использовании того, что я написал?
Какие угодно.
← →
Dataqbazer (2006-01-19 05:45) [6]Ну все же чем отличается First от RecNo:=1 ?
← →
Dataqbazer (2006-01-19 05:47) [7]Получается что requery выполняет то же самое что и First (справку читал )efresh using the Close and Open methods.?
Или я не правильно понял?
← →
mr.il © (2006-01-19 06:08) [8]property RecNo: Longint;
Description
Run-time and read-only. The RecNo property returns a record number for the current record in the dataset. Record numbers are only available for Paradox and dBASE tables; the concept isn"t supported by most SQL servers so a table in a SQL database always returns -1 for RecNo.
← →
Dataqbazer (2006-01-19 06:11) [9]Прочему только read-only?
for i:=1 to tblMain.RecordCount do
begin
tblMain.RecNo:=i;
end;
Этот же код выполняется... Значит неправильно? Какие могут ошибки возникнуть при использовании?
← →
menart © (2006-01-19 06:47) [10]
tblMain.First;
while tblMain.findnext do
...
← →
Dataqbazer (2006-01-19 07:06) [11]Спасибо.
Вместо First можно использовать FindFirst?
← →
menart © (2006-01-19 07:18) [12]Если тебе надо убедится что ты действительно перешел на первую запись, то нужно, если нет то зачем?
Findnext-функция которая возвращает true если курсор перешел на первую запись и false если не перешел.
First-процедура которая только переводит курсор на первую запись.
FindNext-соответственно переходит на следующую запись и возвращает true или false усли следующий записи нет или по какой-то причине он несмог перейти. Сответствено next только процедура.
Извиняюсь в 10 посте я не правильно написал, в этом случае мы не увидем первую запись надо так:tblMain.First;
repeat
...
until not(tblMain.findnext);
← →
sniknik © (2006-01-19 08:10) [13]findnext и next не одно и тоже, лучше пользоватся next в этом случае, даже если пока условия такие, что по действию они одинаковы.
findnext - функция поиска в рекордсете и перевод курсора на найденую запись /next - перевод курсора на следующую запись.
← →
Vemer © (2006-01-19 09:23) [14]If tblMain.IsEmpty Then Exit; ))
← →
mr.il © (2006-01-19 09:32) [15]
> Прочему только read-only?
Не знаю почему, и в общем-то не желаю. Я привык доверять хелпу. И Вы попробуйте сначала хелп почитать, а не парить мозги. ;)
← →
Johnmen © (2006-01-19 09:38) [16]>И Вы попробуйте сначала хелп почитать, а не парить мозги. ;)
Самое разумное замечание!
← →
Ega23 © (2006-01-19 10:40) [17]
> Ну все же чем отличается First от RecNo:=1 ?
>
Тем, что у разных потомков TDataSet оно определяется по-разному.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2006.03.12;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.014 c