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

Вниз

Как правльно? в чем может быть ошибка?   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.037 c
15-1139943369
-Dfcz-
2006-02-14 21:56
2006.03.12
Delphi 2006


1-1139302243
MM
2006-02-07 11:50
2006.03.12
Автоматическая проверка времени


3-1137593732
samalex
2006-01-18 17:15
2006.03.12
Таблица с маской ввода


2-1140419004
integery
2006-02-20 10:03
2006.03.12
обновление даних


15-1140174363
Keyser
2006-02-17 14:06
2006.03.12
Программная нсталяция Firebird