Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Помогите с запросом на MySQL сервер [D6, MySQL]


OlegM ©   (2003-03-24 09:18:00) 

Привет всем!
Запросик простой, нужно узнать сколько колонок в таблице.


Жук   (2003-03-24 13:22:00) [1]

2 Johnmen
Fields.Count - слишком просто, стоит только книгу почитать, а самому придумать - гораздо интереснее. :-)))


Johnmen   (2003-03-24 11:57:00) [2]

>OlegM © (24.03.03 11:36)

Ты что, не читаешь ответы ? Они тебе не нужны ?

>Жук © (24.03.03 11:21)

По-моему красота в Fields.Count :)


OlegM   (2003-03-24 11:36:00) [3]

Я неиспользую компонент Query, поэтому этот метод вряд ли подойдет. Мне бы, если есть какую-нибудь встроенную функцию MySQL.


Жук   (2003-03-24 11:21:00) [4]


> Anatoly Podgoretsky © (24.03.03 10:51)
> Да особенно когда в таблице будет миллион записей

Можно поставить к.-н. условие, чтобы 1 строка отобралась.

> Johnmen © (24.03.03 10:54)
> Особенно тем, что count всегда будет = 0, даже если подправить
> мелкие описки...

Не поленился - проверил. Всё прекрасно работает :
if FDM.Q.Open then FDM.Q.Close;
FDM.Q.SQL.Clear;
FDM.Q.SQL.Add("select * from vir_obr");
FDM.Q.ExecQuery;
count:=0;
a:=true;
while a do
begin
try
caption:=FDM.Q.Fields[count].AsString;
Inc(count);
except
a:=false;
end;
end;
Caption:=IntToStr(count);


Johnmen   (2003-03-24 10:54:00) [5]

Особенно тем, что count всегда будет = 0, даже если подправить мелкие описки...


Anatoly Podgoretsky   (2003-03-24 10:51:00) [6]

Да особенно когда в таблице будет миллион записей


Жук   (2003-03-24 10:42:00) [7]

Мой метод интереснее :-)


Johnmen   (2003-03-24 10:39:00) [8]

Пардон...
см. SHOW [FULL] COLUMNS FROM tbl_name [FROM db_name] [LIKE wild]


Johnmen   (2003-03-24 10:35:00) [9]

см. справочное руководство, SHOW TABLE STATUS


_Shade   (2003-03-24 10:18:00) [10]

а FieldCount?


Жук   (2003-03-24 10:03:00) [11]

Тыда можно :
MyQuery.SQL.Add("select * from MyTable");
MyQuery.Open;
count:=0;
a:=true;
while a do
begin
try
IntToStr(MyQuery.Fields[count].AsString;
Inc(count);
except
a:=false;
end;
end;
Типа так.


OlegM   (2003-03-24 09:53:00) [12]

Да хоть как, лижбы количество полей возвращало


Жук   (2003-03-24 09:52:00) [13]

Надо именно одним SQL-запросом ?


OlegM   (2003-03-24 09:48:00) [14]

Неужели никто не знает?


Наверх

Титульная страница Поиск, карта сайта Написать письмо