|
Вопрос # 2 380/ вопрос открыт / |
|
Здравствуйте, уважаемые эксперты!
помогите пожалуйста вы не знаете как при работе с адотайблом обращаться к ячейки таблицы.заранее срасибо
 |
Вопрос задал: invincible (статус: Посетитель)
Вопрос отправлен: 2 февраля 2009, 18:28
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: Вадим К
Здравствуйте, invincible!
Как всегда напоминаю, что для таблиц понятие "ячейка таблицы" - большой абсурд. Нет такого понятия. Также нельзя сказать "дайте мне данные с третьей строки", если не указать способ сортировки данных. На обычный select * from tablename БД имеет право выводить в том порядке, каком ей удобно. Но на практике это обычно не заметно.
в контексте баз данных некорректно говорить о какой то конкретной строке (их ещё кортежами называют), а о множестве строк в выборке.
То, что Вы назвали ячейками, правильно называть поле таблицы.
Итак, в качестве примера, находжение суммы по какому то определённому полю (это можно более эффективнее написать в sql запросе, но мы идем демонстрационным путем).
var s:integer;
begin
s := 0;
ADOTable1.first;//переместимся в начало.
while not ADOTable1.eof do begin// пока есть записи в таблице
s := s + ADOTable1.fieldbyname('testpole').AsInteger;
ADOTable1.next; //к следующей записи
end;
Если в таблице одна запись (одна строка), то к ней можно однозначно обратиться. В случае 2 и больше, надо вначале найти, потом работать с ней.
Реально, доступ к полям, как я привёл выше, надо только в двух случаях - вывод данных в таблицу (формирование хитрого отчёта) или очень хитрый подсчёт/модификация данных по таблице. В других случаях используют SQL и не морочат голову - быстрее, надёжнее, красивее.
 |
Ответ отправил: Вадим К (статус: Академик)
Время отправки: 2 февраля 2009, 18:43
Оценка за ответ: 5
|
Мини-форум вопроса
Мини-форум пуст.
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|