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

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

Проблема вытаскиваниея информации [D6, MySQL]


Страницы:   1 2 3

Separator ©   (2002-10-21 11:32:00) 

Я использую zeos компоненты.
У меня в базе есть поля под название Par1..ParX типа char(18). В них хранятся числовые данные, т.е. просто набор чисел. Как мне их вытащить???
Вот кусок кода:

var
Ar: array [1..18] of byte;
begin
ZMySqlQuery1.Sql.Clear;
ZMySqlQuery1.Sql("select Par1 from ArcRecv1 where NZap=1"); //NZap - номер записи
ZMySqlQuery1.Open;
Ar:= //Как вытащить???
ZMySqlQuery1.Close
end;


passm   (2002-10-21 12:41:00) [41]

Separator © (21.10.02 12:22)> Если в середине #0, то это воспринимается как конец строки, и дальнейшие значения прочитать проблематично.
Попробуй привести это поле в тип CAST( (?... для Paradox"а Bytes, для DB2 CHARACTER(N) FOR BIT DATA, для MySQL - ???), чтобы в Delphi появилось поле типа ftBytes длиной в 18 байт, а далее читай по циклу.


ЮЮ   (2002-10-21 12:39:00) [42]

Char в Integer нада преобразовывать, а не приводить
Ar[i] := Ord(ZMySqlQuery1.Fields.Fields[0].AsString[i]));
Да и в цикле вызывать метод AsString не расточительно?


Separator   (2002-10-21 12:22:00) [43]

Вылетает с ошибкой AccessViolation.
Пишу так:

var
Ar: array [1..18] of byte;
i: integer;
begin
ZMySqlDatabase1.Connect;
ZMySqlQuery1.Open;
for i:= 1 to 18 do
Ar[i]:= Integer(ZMySqlQuery1.Fields.Fields[0].AsString[i]);
ZMySqlQuery1.Close;
ZMySqlDatabase1.Disconnect;
end


ЮЮ   (2002-10-21 12:10:00) [44]

>Или хотябы узнать pointer, где лежат эти данные
ZMySqlQuery1.Fields[0].AsString[1]


Separator   (2002-10-21 11:51:00) [45]

Проситай внимательно! В одной ячеке хранятся 18 различных чисел типа byte. Мне это все надо вытащить в массив. Или хотябы узнать pointer, где лежат эти данные.


ЮЮ   (2002-10-21 11:49:00) [46]

ar: Integer;

ar:=StrToInt(ZMySqlQuery1.Fields[0].value);


Страницы:   1 2 3

Наверх

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