HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Típusos adatkészlet létrehozása


Typed dataset 1. rész

Példaprogram letöltése

11296 bájt

Típussal rendelkező adatkészlet létrehozásával és felhasználásával sok előnyhöz juthatunk programjaink során. Például könnyedén, átláthatóan tarthatjuk karban adatszerkezeteinket, könnyebben hozzáférhetünk adatainkhoz, illetve tárolhatjuk azokat. A Visual Studio.NET széleskörűen támogatja az olyan DataSet-ek létrehozását, melyek típusa előre, általunk meghatározott. Ezeket felhasználhatjuk akár egy SQL szerveren tárolt adattábla kezeléséhez, de akár egy memóriabeli adattáblához is.
Az ilyen DataSet-ek szerkezetét, tulajdonságait egy XSD kiterjesztésű állomány írja le XML nyelven. Ennek szerkesztése manuálisan elég bonyolult feladat lenne, viszont a Visual Studio.NET szerencsére biztosít egy grafikus felületű szerkesztőt ehhez, melynél csak az adatok megadása és a drag and drop-al történő szerkesztés a dolgunk.

Kezdeti lépésként készítsünk most egy igen egyszerű példát: hozzunk létre egy memóriabeli táblát, melynek adatszerkezetét típusos adatkészlettel írjuk le.
Ehhez elsőként adjunk hozzá a projektünkhöz egy ilyen DataSet-et. Ehhez válasszuk a Project - Add New Item menüpontot, majd a megjelenő ablakban keressük elő a Data Set elemet.
Alapértelmezésben kapunk egy Dataset1.xsd állományt, mely a szerkesztőben egy üres és igen sárga lapként jelenik meg. Keressük elő most a Toolbox-ot. Itt az XML Schema lapon találjuk azokat az eszközöket, melyekkel az adatszerkezetünket kialakíthatjuk. Fogjunk meg egy Element nevű eszközt és húzzuk erre a sárga lapra.
Válasszuk most a Properties ablakot. Ha az imént elhelyezett Element elem az aktív, akkor a Properties-ben láthatóak lesznek a tulajdonságai. Állítsuk be a Name property-nél a FirstTable értéket. Ezzel nevet adtunk a táblának. Most kattintsunk az Element táblázatára és hozzuk létre ennek a táblának az oszlopait, vagyis adjuk meg a tábla szerkezetét. Legyen három oszlopa A, B és C. Az első legyen string, a második int, végül a harmadik boolean típusú.
Ezzel az adattáblát létre is hoztuk.
Ha most átváltunk a DataSet nézetről az XML nézetre, akkor megláthatjuk, hogy minek a begépelésétől kímélt meg bennünket a Visual Studio.NET:
<?xml version="1.0" encoding="utf-8" ?>
<xs:schema id="Dataset1" targetNamespace="http://tempuri.org/Dataset1.xsd" elementFormDefault="qualified" attributeFormDefault="qualified" xmlns="http://tempuri.org/Dataset1.xsd" xmlns:mstns="http://tempuri.org/Dataset1.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
  <xs:element name="Dataset1" msdata:IsDataSet="true">
    <xs:complexType>
      <xs:choice maxOccurs="unbounded">
        <xs:element name="FirstTable">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="A" type="xs:string" minOccurs="0" />
              <xs:element name="B" type="xs:int" minOccurs="0" />
              <xs:element name="C" type="xs:boolean" minOccurs="0" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:choice>
    </xs:complexType>
  </xs:element>
</xs:schema>
Tartozik ehhez a DataSet1.xsd-hez egy forráskód is, melyet a Visual Studio.NET szintén automatikusan tart karban. Érdemes azonban ebbe is belepillantani. Mivel ez a forráskód nem kerül automatikusan az adott projekthez hozzáadásra, így a Solution Explorer-ben ne is keressük. Helyette tallózzunk el abba a mappába, ahol a programunk található és ott keressük elő a Dataset1.cs nevű forráskódot.
Látható, hogy adott benne egy Dataset1 nevű osztály, melyet majd fel is használunk. Ennek az osztálynak számtalan tulajdonsága, függvénye van és további osztályai vannak.
Ilyen például a FirstTableDataTable, mely a DataTable osztályból származik. Ez képviseli az általunk feltett Element objektumot és a benne létrehozott oszlopokat. Ennek megfelelően találunk is benne három property-t: AColumn, BColumn, CColumn névvel, melyek a tábla három oszlopát képviselik DataColumn típusban. Ezeken keresztül elérhetjük majd az adatokat, sőt értéket is adhatunk nekik.
Találunk egy FirstTableRow nevű osztályt is a DataRow osztályból származtatva, mely a táblánk egy-egy sorát képviseli. Ezen belül is képesek leszünk elérni az egyes oszlopokat, melyekhez kapunk egy A, B és C nevű property-t.
Nézzük most miként is tudjuk programból ezt felhasználni és létrehozni egy datakészletet, amit egy DataGrid-be meg is jelenítünk.
Ehhez nem kell mást tennünk, mint létrehozni egy példányt a Dataset1 osztályból.
Adattároláshoz több módszer is rendelkezésünkre áll. Ha egy teljes adatsort szeretnénk egy lépésben felvenni, akkor ehhez az adatkészlet FirstTable property-jén keresztül elérhető Rows property Add függvényét hívjuk, melyen átadhatunk egy tömböt a felveendő adatokkal.
Végül már csak a DataGrid-hez kell kötnünk az adathalmazt, hogy az látható is legyen.
    private void button1_Click(object sender, System.EventArgs e)
    {
      Dataset1 ds = new Dataset1();
      object[] o = {"SoftwareOnline", 2003, true};
      ds.FirstTable.Rows.Add(o);
      dataGrid1.DataSource=ds. FirstTable.DefaultView;
    }

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