HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Típusos DataSet készítése XML Designer segítségével


Példaprogram letöltése

13183 bájt

Cikkünkben megismerkedhetünk annak módjával, hogy milyen módszerrel generálhatunk típusos DataSet objektumot a VS.NET beépített XML Designer eszközének segítségével. A mellékelt példában deklaráljuk a DataSet tábláit, a táblák oszlopait, megadjuk a táblák közötti relációkat, majd a definíció alapján létrehozzuk az adatokat tartalmazó XML állományt.

A típusos DataSet egy olyan objektum, melynek osztálya egy meghatározott XML sémával rendelkezik. Abban az esetben, ha szükségünk van egy típusos DataSet osztályra, de nem áll rendelkezésre előre elkészített séma, akkor készíthetünk egy ilyen osztályt magunk is az XML Designer segítségével. Ennek a műveletnek a lépéseit követhetjük nyomon a cikkben.
A Visual Studio.NET-be betöltött projekt gyorsmenüjében válasszuk az Add New Item pontot, melynek segítségével egy DataSet állományt adhatunk a projekthez. Az állomány neve CustomDS.xsd lesz. Az állomány elkészítése után megnyithatjuk azt, majd sorban feltehetjük az elemeket a szerkesztőpanelre.
A példában egy kéttáblás sémát készítünk el, melyben Customers és Orders a két tábla, kettejük között pedig kapcsolatot építünk fel. A művelethez a ToolBox elemeit használjuk fel.
A műveleteket azzal kezdjük, hogy a Customers és az Orders táblák számára is egy-egy ELEMENT elemet helyezünk a szerkesztőpanelre, majd a megjelenő táblázat rekordjaiban megadjuk az oszlop nevét és típusát.
A Customers tábla legfontosabb oszlopa a CustomerID, az Orders táblában pedig az OrderID, mely mindkét tábla elsődleges kulcsa. A tábladeklarációk megadása után a következő kód keletkezik a CustomDS.xsd állományban:


<?xml version="1.0" encoding="utf-8" ?>
<xs:schema id="CustomDS ...>
  <xs:element name="CODS" msdata:IsDataSet="true">
    <xs:complexType>
      <xs:choice maxOccurs="unbounded">
        <xs:element name="Customers">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="CustomerID" type="xs:ID" minOccurs="0" />
              ...
            </xs:sequence>
          </xs:complexType>
        </xs:element>
És az Orders tábla deklarációja.
        <xs:element name="Orders">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="OrderID" type="xs:ID" minOccurs="0" />
              ...
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:choice>
    </xs:complexType>
A különböző típusú kulcsok létrehozásához a ToolBox KEY elemét kell a tábladeklaráció fölé vonszolni, majd elengedni, mire megnyílik egy ablak, ahol meg lehet adni a kulcs nevét, a hivatkozott oszlopot, valamint hogy elsődleges kulcs legyen-e az adott kulcs.
Az elsődleges kulcsok megadása után egy-egy deklaráció kerül az állományba.


<xs:key name="DSCustomerKey1" msdata:PrimaryKey="true">
  <xs:selector xpath=".//Customers" />
  <xs:field xpath="CustomerID" />
</xs:key>
A táblák közötti kapcsolatok megadásához egy Relation elemet kell a táblák valamelyikére húzni, majd a megjelenő ablakban megadni a szülő-gyermek kapcsolatban résztvevő táblákat, és oszlopokat. Esetünkben mindkét tábla CustomerID oszlopa lesz a közös kapocs.
A deklaráció eredménye egy bejegyzés a táblában.


<xs:keyref name="CORelation" refer="DSOrdersKey2" msdata:AcceptRejectRule="Cascade" msdata:DeleteRule="Cascade" msdata:UpdateRule="Cascade">
  <xs:selector xpath=".//mstns:Customers" />
  <xs:field xpath="mstns:CustomerID" />
</xs:keyref>
A szerkesztőpanel gyorsmenüjében ki kell választani a Preview DataSet menüpontot, annak érdekében, hogy megtekinthessük a DataSet tulajdonságait.
A DataSet adatainak megadásához egy XML állományt kell a projekthez kapcsolni, melynek Data nézetében táblázatban írva szerkeszthetjük az adatokat.


Annak érdekében, hogy az XML a létrehozott DataSet sémával rendelkezzen, annak hivatkozását meg kell adnunk a tulajdonságablakában.


http://tempuri.org/CustomDS.xsd
A DataSet objektum felhasználásához egy forráskódot tartalmazó állományra is szükségünk van, mely alapértelmezésben automatikusan generálódik, most CustomDS.cs néven.
A példánkban elegendő egy példányt létrehoznunk a CODS osztályból, majd az XML állományt beolvasni. A DataSet objektumot ezt követően adhatjuk hozzá a DataGrid objektumhoz adatforrásként.
CODS ds = new CODS();
ds.ReadXml("Datas.xml");
dataGrid1.DataSource = ds;

Cikksorozat

#IDKategóriaCikk címeSorozat
3643DelphiFormEditor1. rész
3689DelphiProject és modul információk2. rész
3719DelphiMegnyitás, mentés3. rész
3749DelphiKódszerkesztő4. rész
3778DelphiForráskód írása, olvasása5. rész
3809DelphiInterfész a kódszerkesztő ablakhoz6. rész
3839DelphiKijelölt blokkok7. rész
3869DelphiA buffer beállításai8. rész
3899DelphiKörnyezeti és Project opciók9. rész
3929DelphiKurzor a kódszerkesztőben10. rész
3959DelphiKeresés és csere beállításai11. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: C# Software Offline 2003 évkönyv 391. 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 |