Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.02.17;
Скачать: CL | DM;

Вниз

Считать данные из таблицы Access в упорядоченную структуру ?   Найти похожие ветки 

 
Anton   (2008-01-24 20:52) [0]

Доброго времени суток !!! Не могу такую проблемку решить:
Есть такая вот структура, использую ее для программирования упорядоченного списка:

Type
TPN = ^TN; //Указатель на переменную типа TN
//Описание типа элемента списка
TN = record
  Number : integer; //Номер
  x0 : integer; //Координаты по X
  y0 : integer; //Координаты по Y
  Next : TPN; //Указатель на следующий элемент списка
end;
/Это один из 2-х разных по структуре списков/

После работы основной проги список нужно сохранить на винт, разобрался как сохранять в типизированные файлы. (точнее в два отдельных, т.к. в проге два списка), в один файл сохранять не получается. Может есть какой вариант ?

Пробую сохранять один (показанный) список в базу MSAccess через ADO вот так:
--------------кусь-------------------------

ADOQuery1.SQL.Add("CREATE TABLE Tab1 (Number  Number ,x0 Number,y0 Number)");
ADOQuery1.ExecSQL
ADOQuery1.SQL.Clear;
currN:=headN;
predN:=nil;
 while (currN <> nil) do
  begin
   ADOQuery1.SQL.Add("INSERT INTO Tab1 (Number,x0,y0)");
   ADOQuery1.SQL.Add("values("""+IntToStr(currN^.Number)+""","""+IntToStr(currN^.x0)+""","""+IntToStr(currN^.y0)""")");
   ADOQuery1.ExecSQL;
   ADOQuery1.SQL.Clear;
   predN:=currN;
   currN:=currN^.Next;
  end;
в Access все сохраняется, все ок.
Внимание вопрос:
ЧТО нужно написать что бы считать данные из Таблицы БД в структуру типа Запись
ЗЫ:Может примерчик какой подкинете элементарный типа:
Считываем в таблице поле - присваиваем значение переменной Delphi , дальше сам разберусь
Заранее СПАСИБО !


 
Slym ©   (2008-01-25 05:39) [1]

var
 Root:TN;
 currN:TPN;
begin
 ADOQuery1.SQL.Add("SELECT * FROM Tab1;");
 ADOQuery1.Open;
 Root.Next:=nil;
 currN:=@Root;
 while not ADOQuery1.Eof do
 begin
   currN.Next:=New(TPN);
   currN:=currN.Next;
   currN.Number:=ADOQuery1.FieldByName("Number").AsInteger;
   currN.x0:=ADOQuery1.FieldByName("x0").AsInteger;
   currN.y0:=ADOQuery1.FieldByName("y0").AsInteger;
   currN.Next:=nil;
   ADOQuery1.Next;
 end;
 currN:=Root.Next;
end;



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

Текущий архив: 2008.02.17;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.021 c
15-1200407003
OSokin
2008-01-15 17:23
2008.02.17
Доки vs форумы


2-1201119724
AntonUSAnoV
2008-01-23 23:22
2008.02.17
простой вопрос


2-1201253294
Nicola
2008-01-25 12:28
2008.02.17
Данные из массива


2-1201454536
AntonUSAnoV
2008-01-27 20:22
2008.02.17
как быть с разрешением монитора ?


2-1201114814
Тоник
2008-01-23 22:00
2008.02.17
WM_MOUSEENTER и &amp;#8203;WM_MOUSELEAVE без компонента