Вниз
Скачать: CL | DM;

Как считать данные из базы на Accesse?   Найти похожие ветки 

← →
npu3pak ©   (2007-04-10 12:57) [0]

я пробовал так:
repeat
memo1.lines.add(adoquery1.fieldbyname("name").asstring);
adoquery1.next;
until adoquery1.eof <> false;


← →
Сергей М. ©   (2007-04-10 13:01) [1]

а надо вот так:

while not adoquery1.eof do
begin
 memo1.lines.add(adoquery1.fieldbyname("name").asstring);
 adoquery1.next;
end;


← →
npu3pak ©   (2007-04-10 13:24) [2]

ну и какая разница?


← →
Desdechado ©   (2007-04-10 13:27) [3]

Принципиальная.
Если набор данных пуст, то в твоем варианте будет ошибка, т.к. цикл repeat выполняется по крайней мере один раз, тогда как цикл while может не выполниться ни разу.


← →
sniknik ©   (2007-04-10 13:28) [4]

а правильно так:
var
 fname: TFieald;
...
with memo1.lines, adodataset1 do begin
 BeginUpdate;
 try
    fname:= fieldbyname("name");

    first;
    while not eof do begin
       add(fname.asstring);
       next;
    end;

 finally
    EndUpdate;
 end;
end;

вернее, быстрее будет точно, а вот правильности в переносе данных из одного места в другое... ну не знаю, смотря зачем делается.
+ еще если нужна обработка ошибок, еще все это в try except "завернуть"...


← →
Сергей М. ©   (2007-04-10 13:29) [5]


> ну и какая разница?


Никакой, если твой НД гарантированно не пустой.


← →
npu3pak ©   (2007-04-10 14:34) [6]


> sniknik

Спасибо.

База точно не пустая.
И еще интересно: а реально загнать данные (столбец, например) в массив?
т.е. есть у меня таблица:
num | count | name
1        10      John
2        20      Alex
3        50      Max

как "загнать" в массив столбец count, т.о. чтобы massiv[1] был = 10, massiv[2] = 20, massiv[3] = 50 и т.д.?


← →
Сергей М. ©   (2007-04-10 14:38) [7]


> реально загнать данные (столбец, например) в массив?


Для "реальных пацанов" - реально)


← →
Sergey13 ©   (2007-04-10 14:53) [8]

> [6] npu3pak ©   (10.04.07 14:34)

Меня не покидает смутное ощущение, что ты не знаком с ДатаСетами (которые и есть в сущности "массивы" с наборами данных) и прочими ДБГридами (фиговины, которые показывают юзеру те "массивы").


← →
sniknik ©   (2007-04-10 14:54) [9]

реально, но неправильно... т.к. судя по всему перенос делается по единственной причине - неумению работать с датасетом(/рекордсетом)...


← →
npu3pak ©   (2007-04-10 16:48) [10]

в принципе, да, не умею! потому как нигде нет ничего путного по dataset"ам!
Если не сложно - подскажите плиз, где можно о них почитать?! :)


← →
Sergey13 ©   (2007-04-10 16:57) [11]

> [10] npu3pak ©   (10.04.07 16:48)
> потому как нигде нет ничего путного по dataset"ам!

Где же это ты смотрел, что не нашел? Это умудриться надо - про датасеты не найти.



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.046 c
2-1176197360
npu3pak
2007-04-10 13:29
2007.04.29
Как райионально добавлять данные в базу Access?


2-1176443426
Rezya
2007-04-13 09:50
2007.04.29
Как правельно задать массив.


3-1170946102
umbra
2007-02-08 17:48
2007.04.29
Ошибка БДЕ "Could not find language driver"


15-1175376233
Gero
2007-04-01 01:23
2007.04.29
Всем, кому интересна судьба DMClient


15-1175753648
IMHO
2007-04-05 10:14
2007.04.29
Посоветуйте компонент БД для Delphi




   Наверх