Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.06.2010, 15:50   #1
Алёна
Форумчанин
 
Аватар для Алёна
 
Регистрация: 11.03.2007
Сообщений: 149
Восклицание создать документ xml

делаю вывод данных в xml-формат по запросу с БД, пишу такую процедуру:
Код:
procedure adotoxmlp(a:TADOQuery;FileName:String);
  var s:TStringList;i:integer;
  begin
   s:=TStringList.Create;
   a.Open;
   s.Add('<?xml version="1.0" encoding="windows-1251"?>');
   s.Add('<Table  xmlns:od="urn:schemas-microsoft-com:officedata">');
   while not a.Eof do begin
    s.Add('      <rec>');
    for i:=0 to a.FieldCount-1 do
     s.Add('            <'+a.Fields[i].DisplayName+'>'+a.Fields[i].AsString+'</'+a.Fields[i].DisplayName+'>');
    s.Add('      </rec>');
    a.Next;
   end;
   s.Add('</Table>');
   s.SaveToFile(FileName);
   s:=nil;
  end;
и вызываю ее:
Код:
var s:TStringList;
i:integer;
 stoim,tip:integer;
 tarif:string;
 begin
     qobyav.close;
      qobyav.SQL.Clear;
      qobyav.SQL.Add('Select * From TObyav where (is_pay=true) and  (prog_b<=#'
+FormatDateTime('mm-dd-yyyy',sDateEdit1.Date)+'#) and (prog_e>=#'
+FormatDateTime('mm-dd-yyyy',sDateEdit1.Date)+'#)');
      qobyav.Open;

   qobyav.First;

   For i := 1 To qobyav.RecordCount Do

       Begin
       tip:=qobyav.FieldByName('tip').AsInteger;
         if tip=7 then stoim:=450
         else
         if tip=5 then stoim:=500
         else
         if tip=3 then stoim:=700;
           if qobyav.FieldByName('prog_b').AsString=qobyav.FieldByName('prog_e').AsString
         then
         tarif:='День'
         else tarif:='Неделя';


adotoxmlp(s,'c:\x.xml');

end;
в итоге пишет ошибку Incompatible types: 'TADOQuery' and 'TStringList'. ЧТО НЕ ТАК? укажите на ошибку, заранее спс.
Если это глупо, но работает, значит это не глупо.

Последний раз редактировалось Stilet; 16.11.2010 в 18:41.
Алёна вне форума Ответить с цитированием
Старый 23.06.2010, 19:41   #2
rdama
Форумчанин
 
Аватар для rdama
 
Регистрация: 25.07.2009
Сообщений: 533
По умолчанию

Объявление процедуры
Код:
procedure adotoxmlp(a:TADOQuery;FileName:String);
Вызов процедуры
Код:
var s:TStringList;
...
adotoxmlp(s,'c:\x.xml');
Ошибка при вызове процедуры.
Передается параметр не того типа.
Маразм крепчал. Еноты пели...
R-style Dataknowlege Access Member Account (RDAMA)

Последний раз редактировалось rdama; 23.06.2010 в 19:43.
rdama вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как в C# разобрать xml документ Лучик_света Общие вопросы .NET 26 19.12.2012 09:29
парсер XML, не видит XML тэги supercelt PHP 3 02.11.2009 19:18
Как создать xml документ? Longedok Помощь студентам 0 04.08.2008 16:48