C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Получение значения строки
___Lamo
Отправлено: 29.04.2004, 20:28


Не зарегистрирован







Как можно получить значение скажем 5-ой строки столбца Users(1-го)?
И как его изменить(значение)?
___Lamo
Отправлено: 29.04.2004, 20:38


Не зарегистрирован







Я с этим уже разобрался, а как можно получить кол-во строк в столбце?
maikl
Отправлено: 30.04.2004, 03:14


Станционный диспетчер

Группа: Участник
Сообщений: 135



int i;
i=0;
while(!Table1->Eof)
{
i++;
Table1->Next();
}


I — это количество строк в столбце.
olegenty
Отправлено: 30.04.2004, 06:51


Ветеран

Группа: Модератор
Сообщений: 2412



1. У различных датасетов есть соответствующее св-во. А если набор клиентский — оно утановлено изначально.
2. чем фетчить все записи, можно запустить ещё один запрос: select count (...) from ... (с теми же условиями)

а то если 10000 и более записей, вариант с Next() — нихрена не работоспособен. юзверь ждать охренеет...
Gedeon
Отправлено: 30.04.2004, 08:42


Ветеран

Группа: Модератор
Сообщений: 1742



Вообще чтобы получить нормальный ответ, пишите нормальный вопрос: указывайте что за БД, через что к ней стучитесь.
omar
Отправлено: 30.04.2004, 12:09


Ученик-кочегар

Группа: Участник
Сообщений: 13



а Table1->RecordCount не подходит ?
olegenty
Отправлено: 30.04.2004, 14:40


Ветеран

Группа: Модератор
Сообщений: 2412



Не подходит, потому что оно устанавливается только по достижении последней запись. Можно, конечно, делать Last()... но, у ряда компонентов это ни к чему не приведёт, а у ряда начнётся гиперфетч с гарантированными тормозами...
full_lamer
Отправлено: 15.05.2004, 04:10


Машинист паровоза

Группа: Участник
Сообщений: 225



Извините, что позно отвечаю....
но если сделать так:
select count (field) form ....
olegenty
Отправлено: 17.05.2004, 06:54


Ветеран

Группа: Модератор
Сообщений: 2412



вот это уже похоже на правду. минус только в том, что при интенсивной вставке count может и устареть...
full_lamer
Отправлено: 17.05.2004, 08:40


Машинист паровоза

Группа: Участник
Сообщений: 225



Прошу прощения за очепятку "fORm" вместо "fROm"...

>>что при интенсивной вставке count может и устареть
В смысле?
Gedeon
Отправлено: 17.05.2004, 09:25


Ветеран

Группа: Модератор
Сообщений: 1742



QUOTE (full_lamer @ 17/05/2004, 09:42)
>>что при интенсивной вставке count может и устареть
В смысле?

Имеется ввиду я так понимаю их разница при выполнении запроса и после вставки некоторого количества полей.
QUOTE (olegenty @ 17/05/2004, 07:56)
от это уже похоже на правду. минус только в том, что при интенсивной вставке count может и устареть...

Этого никак не побороть, да и зачем? Количество строк, я так понимаю нужно для работы с какими-то действиями с этими выбранными строками в данный момент в текущем датасэте. Ничего, кстати, не мешает выполнить запрос повторно biggrin.gif
olegenty
Отправлено: 17.05.2004, 10:05


Ветеран

Группа: Модератор
Сообщений: 2412



так я просто обращаю внимание, и только. мне лично это не мешает, я count и выборку всегда вместе делаю... smile.gif

Вернуться в Работа с базами данных в C++Builder