Ebben a feladatban az előző feladatban létrehozott kvarosok
tábla adatait kérdezzük le az mo_telepulesek
adatbázisból.
Kedvenc_varosok2
projektnévvel.MySqlConnector
csomagot.mo_telepulesek
adatbázishoz.Hozzuk létre a lekérdezés parancsát kezelő MySqlCommand
objektumot. A parancs a kvarosok
tábla teljes tartalmát kérdezze le.
Az előző lépésben megírt SQL lekérdezést egy új, MySqlDataReader
objektum segítségével hajtjuk végre.
MySqlDataReader
osztály gyors, csak olvasható hozzáférést biztosít egy lekérdezés eredményeihez.A MySqlDataReader
objektum létrehozásához meghívjuk a MySqlCommand
osztály ExecuteReader()
metódusát.
MySqlDataReader sqlReader;
sqlReader = sqlCommand.ExecuteReader();
A lekérdezés eredményének kiíratásához egy while
ciklust fogunk használni a ciklusfeltételben a MySqlDataReader
osztály Read()
metódusának meghívásával.
Read()
metódus tovább lépteti az olvasást végző objektumot a következő rekordra.true
értéket ad amennyiben van még hátra rekord, és false
értéket, amikor elértük a rekordok végét.while (sqlReader.Read())
{
}
A cikluson belül az adatokat azok index számával tudjuk beazonosítani.
Console.WriteLine("Név: " + sqlReader.GetString(0) + ", megye: " + sqlReader.GetString(1) + ", hozzáadás éve: " + sqlReader.GetInt32(2));
Az előző feladat mintájára írassuk ki a táblázat adatait, ezúttal tabulátorral tagolt táblázatos formát használva.
Ehhez szükségünk lesz a mezőnevek lekérdezésére. Ezt a MySqlDataReader
osztály GetName()
metódusával tudjuk megtenni.
GetName()
metódus argumentumának annak a mezőnek az indexét kell megadnunk, amelynek a nevét szeretnénk visszakapni.Console.WriteLine("\\nAdatok táblázatos formában:");
Console.WriteLine(sqlReader.GetName(0) + "\\t" + sqlReader.GetName(1) + "\\t" + sqlReader.GetName(2));
while (sqlReader.Read())
{
Console.WriteLine(sqlReader.GetString(0) + "\\t" + sqlReader.GetString(1) + "\\t" + sqlReader.GetInt32(2));
}