HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

SQL 2000 adatlekérdezés közvetlenül XML-ben


Példaprogram letöltése

5310 bájt


Az MS SQL 2000-es verziójától kezdve lehetőséget biztosít arra, hogy egy-egy Select lekérdezésünk eredményét közvetlenül XML-ben kapjuk meg. Hogy az így kapott eredményt mire használjuk az már csak feladatunktól, illetve fantáziánktól függ.

Mielőtt használhatnánk ezen lehetőségét az MS SQL szervernek, előtte azt konfigurálnunk kell. Ehhez tegyük a következő lépéseket:
  • Start menü - Microsoft SQL Server program csoport, ezen belül indítsuk el a Configure SQL XML Support in IIS programot.
  • Keressük elő a hierarchiából azt a szervert és azon belül azt a web site-ot, melyhez az XML támogatást létre kívánjuk hozni.
  • Válasszuk az Action - New - Virtual Directory menüpontot.
  • A General lapon adjuk meg a virtuális könyvtárunk nevét a Virtual Directory Name mezőben. Ez a név tetszőleges lehet. Ha például itt a Northwind szót adjuk meg, akkor majd így indíthatunk egy lekérdezést: http://www.xy.hu/Northwind?sql=… A Local Path-ban a fizikai elérési útvonalat adjuk meg, ez legyen a C:\Inetpub\wwwroot\Northwind, melyet nekünk kell létrehozni.
  • Hozzuk még létre a C:\Inetpub\wwwroot\Northwind\Schema és C:\Inetpub\wwwroot\Northwind\Template alkönyvtárakat, melyekre később még szükségünk lesz.
  • A következő Security lapon adjunk meg egy érvényes bejelentkezési nevet és jelszót, melyet a lekérdezésekhez szeretnénk használni.
  • A DataSource lapon válasszuk ki a használni kívánt SQL szervert és ezen belül az elérni kívánt adatbázist, mely most legyen a Northwind példa adatbázis.
  • A Settings lapon engedélyezzük az összes lehetőséget.
  • A Virtual Names lapon kattintsunk a New gombra
  • A megjelenő ablakban a Virtual Name mezőbe írjuk be, hogy dbobject a Type legyen dbobject, majd Save.
  • Ismét a New gomb.
  • A megjelenő ablakban a Virtual Name mezőbe írjuk be, hogy schema a Type legyen schema, a Path legyen C:\Inetpub\wwwroot\Northwind\Schema, majd Save.
  • Ismét a New gomb.
  • A megjelenő ablakban a Virtual Name mezőbe írjuk be, hogy template a Type legyen template, a Path legyen C:\Inetpub\wwwroot\Northwind\Template, majd Save.
  • Végül az OK gomb.
A konfigurálást ezzel be is fejeztük, tegyünk próbaképpen egy ellenőrzést: indítsuk el az Internet Explorert és a címsorba írjuk a következőt: http://www.xy.hu/Northwind?sql=SELECT * FROM Products FOR XML AUTO&root=product. Az www.xy.hu helyére persze saját web címét írja. Eredményként egy nagy adag XML-t kell kapnunk a böngészőbe.

Nézzük most azt, hogy miként tudjuk felhasználni ezt a lehetőséget programból.

Először is kell küldenünk egy HTML kérést a web szerverünk felé. Ehhez a FastNet paletta NMHTTP komponense lesz a legalkalmasabb. Ennek Get eljárását használva lekérhetjük a szükséges web oldalt. A Get paraméterében kell megfogalmaznunk a szükséges URL-t. Miután a Get lefutott az eredményt a Body property-n keresztül olvashatjuk ki és jeleníthetjük meg, mondjuk egy TMemo komponensben. Itt tehát rendelkezésünkre fog állni a lekérdezés eredménye XML formátumban, melyet már csak fel kell dolgoznunk igény szerint.
procedure TForm1.Button1Click(Sender: TObject);
begin
  NMHTTP1.Get(ReplaceSpace('http://'+Edit1.Text+'/'+Edit2.Text+'?sql='+Edit3.Text+' FOR XML
      AUTO&root=items'));
  Memo1.Text:=NMHTTP1.Body;
end;
Ahhoz, hogy az NMHTTP komponens helyesen működjön a létrehozott URL-ben a szóköz karaktereket ki kell cserélnünk a %20 karakterekre.
function ReplaceSpace(s: string): string;
var
  i: integer;
begin
  result:='';
  for i:=1 to Length(s) do begin
    if s[i]=' ' then begin
      result:=result+'%20';
    end else begin
      result:=result+s[i];
    end;
  end;
end;


Cikksorozat

#IDKategóriaCikk címeSorozat
1166DelphiOsztály hierarchia lekérdezése1. rész
1180DelphiOsztály hierarchia lekérdezése2. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2001 évkönyv 482. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |