Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > WebServices + MySQL


Автор: Rodman 19.7.2006, 15:23
Ну к базе данных я подключился... 

Я не могу с генерировать XML файл... как только добавил работу с базой...

Кто нить может подсказать как решить эту проблему...

Клиент просто виснит и ничего не генерирует... в IE та же история, что XML файл не появляется... 


 smile  smile  smile 


Cпасибо 

Автор: comtat 19.7.2006, 15:32
Код в студию  smile  

Автор: Rodman 19.7.2006, 15:45
Код

function TIService.GetEmployeeNames:String;
var dm:TDataModule;
begin
  dm:=TDataModule.Create(nil);
  try
  dm.dsEmplList.Open;
  Result := '<employeelist>' + sLineBreak;
  while not dm.dsEmplList.EOF do
    begin
       Result:=Result+'<IDName>'+dm.dsEmplList.Fields.Fields[0].AsString+'</IDName>'+sLineBreak;
       Result:=Result+'<UsName>'+dm.dsEmplList.Fields.Fields[1].AsString+'</UsName>'+sLineBreak;
       Result:=Result+'<PowName>'+dm.dsEmplList.Fields.Fields[3].AsString+'</PowName>'+sLineBreak;

{      Result := Result + '  ' + MakeXmlStr ('employee',
        dm.dsEmplListLASTNAME.AsString + ' ' +
        dm.dsEmplListFIRSTNME.AsString,
        MakeXmlAttribute ('id', dm.dsEmplListEMPNO.AsString)) + sLineBreak;}
      dm.dsEmplList.Next;
    end;
    Result := Result + '</employeelist>';
  finally
    dm.Free;
  end;
end;

function TIService.GetEmployeeData(PrmNU,PrmPU: string):String;
var dm:TDataModule;
begin
  dm:=TDataModule.Create(nil);
  try
    dm.dsEmpData.ParamByName('NU').AsString := PrmNU;
    dm.dsEmpData.ParamByName('PU').AsString := PrmPU;
    dm.dsEmpData.Open;
    Result:='<AnswePower>'+IntToStr(dm.dsEmpData.Fields.Fields[3].AsInteger)+'</AnswePower>';
    //Result := FieldsToXml ('employee', dm.dsEmpData);
  finally
    dm.Free;
  end;
end;



--------------------------------

есть например две такие функции созданные в приложении (приложение создано через закладку WebServices)... то что закоментировано - это я нашел пример (но MakeXMLStr, MakeXmlAttribute и FieldsToXml - не могу найти описание этих функций), тем самым попытался написать свою интерпритацию (возможно зря)... но результат - НЕ РАБОТАЕТ!!!

Можно обьяснить???  

Автор: comtat 19.7.2006, 17:19
Манов по этом функциям действительно чета нет
А основная проблема может быть вот сдесь
Код

dm.dsEmpData.Fields.Fields[3].AsInteger
 

Автор: Rodman 19.7.2006, 17:33
Ну это уже мой код... обычно таким образом я достаю из запроса поля по счету...

запрос такой

SELECT IDUser, NameUser, PassUser, PowerUser FROM USERS WHERE(...);

так в 
        dm.dsEmpData.Fields.Fields[3].AsInteger
я достаю поле PowerUser.

Что я сделал не так??? 

Автор: comtat 20.7.2006, 08:09
Почитай вот эти http://www.codenet.ru/cat/Languages/Delphi/Delphi-XML/ должно помочь  smile  

Автор: Rodman 21.7.2006, 10:11
Понимаете нигде нет точного примера.... в этих статьях на пример описано, что можно использовать SQL запросы... а как и с кем не понятно... 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)