74
B I T M A N 1/74 B I T M A N v: 2015.04.11 10. Gy: DotNet - C# Adatbázis Rendszerek II.

Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 1/74 B I T M A N v: 2015.04.11

10. Gy: DotNet - C#

Adatbázis Rendszerek II.

Page 2: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 2/74

Témakörök

Kapcsolat nélküli adatelérés

Oracle kapcsolódás

C# jellegzetességek

Kapcsolat alapú adatelérés

Page 3: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 3/74

Adatbázis-kezelés C#-ban

A .NET környezet lehetőséget biztosít számos adatbázis-típushoz

való kapcsolódásra, ezekhez különböző motorokat biztosít.

Többféle osztály használata szükséges:

– Kapcsolat: ez adatbázis-típusfüggő osztály, amelynek

segítségével a program kapcsolódik egy adatbázishoz (pl.

OleDbConnection, OracleConnection, stb.)

– Adattárolók: olyan osztályok, amelyek az adatbázisból betöltött

adatot tárolják

– Adat adapterek: az adatokat mozgatják az adatbázis és a tárolók

között

– Parancs: ez az osztály az adatok manipulációját teszi lehetővé

(pl. úgy, hogy értelmez és alkalmaz egy SQL utasítást)

– Navigáció: az adatok közötti mozgást és manipulációt

megkönnyítő osztály

Page 4: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 4/74

Adatbázisok elérése

Közvetlen elérés - minden adatbázismotorhoz külön

függvénygyűjtemény

Absztrakciós rétegen keresztül

– Open DataBase Connectivity (ODBC), közös függvényhalmaz,

amivel minden DB elérhető. Az ODBC rétegben levő driverek

lefordítják.

– Object Linking and Embedding (OLE DB) –kifelé táblázatos

formában mutatja az adatokat. Az adatforrások OLE DB

provider-eken keresztül érhetők el COM objektumok

segítségével. ODBC-t is elér.

– ActiveX Data Objects (ADO) – egy vékony réteg az OLE DB

felett, a magas szintű nyelvek számára elérhetővé teszi azt.

– ADO.NET – ADO továbbfejlesztett, felügyelt változata

Page 5: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 5/74

Kétféle adatelérési modell

Kapcsolat alapú (Direct Access)

pl: DataReader, DataCommand

Kapcsolat nélküli (Disconnected

Access)

pl: DataSet (és a többiek)

- Egyirányú, csak olvasható

- Ha az adatokat azonnal

feldolgozzuk

- Lokális másolat az adatokról

- Ha az adatok között navigálunk

- Ha az adatokat módosítjuk is

Előnyök:

- Egyszerűbb konkurencia kezelés

- Az adatok mindenhol a

legfrissebbek

Hátrányok:

- Folyamatos hálózati kapcsolat

Előnyök:

- Nem szükséges folyamatos

hálózati kapcsolat

Hátrányok:

- Ütközések lehetségesek

- Az adatok nem mindenhol a

legfrissebbek

Page 6: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 6/74

SQL Server

ADO.NET – Kapcsolat alapon (online)

Az erőforrások a kapcsolat

bontásáig foglaltak

Lépések:

1. Kapcsolat nyitása

2. Parancs futtatása

3. Sorok feldolgozása

4. Olvasó bezárása

5. Kapcsolat bezárása

SqlConnection

SqlCommand

SqlDataReader

Page 7: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 7/74

Az erőforrások az adat feldolgo-

zása alatt nincsenek lefoglalva

Lépések:

1. Kapcsolat nyitás

2. DataSet feltöltés

3. Kapcsolat bontás

4. DataSet feldolgozás

5. Kapcsolat nyitás

6. Adatforrás frissítése

7. Kapcsolat bontás

SqlConnection

SqlDataAdapter

DataSet

SQL Server

ADO.NET – Kapcsolat nélkül (offline)

Page 8: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 8/74

Data Provider

Híd az alkalmazás és az adatforrás között, ezen

keresztül mozognak az adatok az alkalmazás és az

adatbázis között

Microsoft DP-k

– SqlClient (MS SQL Server)

– OracleClient (Oracle)

– OleDb (Access)

– Odbc

Más cégektől (letöltés, telepítés)

Page 9: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 9/74

Data Provider komponensek

XxxConnection

– XxxTransaction

– XxxException

– XxxError

XxxCommand

– XxxParameter

XxxDataReader

XxxDataAdapter

XxxPermission

SqlConnection

MySqlConnection

OracleConnection

OdbcConnection

OleDbConnection

Page 10: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 10/74

Témakörök

Kapcsolat nélküli adatelérés

Oracle kapcsolódás

C# jellegzetességek

Kapcsolat alapú adatelérés

Page 11: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 11/74

Kapcsolat alapú adatelérés

Lépések:

– Kapcsolati sztring összeállítása

– Kapcsolat létesítése az adatbázishoz Connection

objektum segítségével

– SQL lekérdezés sztring összeállítása

– Kapcsolat megnyitása

– Command objektum létrehozása

– DataReader objektum létrehozása

– Rekordok kiolvasása

– DataReader objektum lezárása

– Kapcsolat lezárása

Page 12: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 12/74

Kapcsolódás MySql adatbázishoz (előkészületek)

Előkészületek

– A szükséges csomag letöltése:

• http://dev.mysql.com/downloads/connector/net/

• mysql-connector-net-6.9.6.msi (2015.04.09)

– Installálás: a Programfájlok(x86) mappába kerül:

Page 13: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 13/74

Kapcsolódás MySql adatbázishoz (előkészületek)

A Visual Studio indítása

Új Projekt létrehozása

1

2

3

4

Page 14: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 14/74

Kapcsolódás MySql adatbázishoz (előkészületek)

A View menüben jelenítsük meg a Solution Explorert.

Page 15: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 15/74

Kapcsolódás MySql adatbázishoz (előkészületek)

A Solution Explorerben kattintsunk jobb egérgombban a

References menüre, és válasszuk az Add Reference-t.

Page 16: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 16/74

Kapcsolódás MySql adatbázishoz (előkészületek)

A Browse gombbal jelenítsük meg a Select the files to

reference panelt, keressük ki a MySql.Data.dll fált, és az

Add gombbal adjuk hozzá a projekthez.

1

2

3

4

Page 17: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 17/74

Kapcsolódás MySql adatbázishoz (A kód megírása)

A kód elejére írjuk be: using MySql.Data.MySqlClient;

Page 18: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 18/74

Kapcsolódás MySql adatbázishoz (Kódrészletek)

MySqlConnection conn = null;

string cs = @"server=localhost; userid=root;

password=root; database=bolt";

conn = new MySqlConnection(cs);

conn.Open();

Console.WriteLine("MySQL kapcsolat rendben!");

if (conn != null) { }

conn.Close();

Page 19: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 19/74

Kapcsolódás MySql adatbázishoz (A kód)

B I T M A N

Page 20: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 20/74

Kapcsolódás MySql adatbázishoz (A kód fordítása)

2 1

Page 21: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 21/74

Kapcsolódás MySql adatbázishoz (A projekt helye)

A megírt programot a Dokumentumok alatt, a Visual

Studio 2013\Projects\Projectnév mappában találjuk, .cs

kiterjesztéssel.

Page 22: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 22/74

Kapcsolódás MySql adatbázishoz (A futtatható kód)

A futtatható .exe kód a Projektnév\bin\Debug mappában

található, innen futtatható egy Parancssor ablakban.

Page 23: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 23/74

Kapcsolódás MySql adatbázishoz (A kód futtatása)

Page 24: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 24/74

A kategória tábla listája (Kódrészletek)

MySqlDataReader rdr = null;

string stm = "select * from kategória";

MySqlCommand cmd = new MySqlCommand(stm, conn);

rdr = cmd.ExecuteReader();

while (rdr.Read()){

Console.WriteLine(rdr.GetString(0) + ": " + rdr.GetString(1));

}

Page 25: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 25/74

A kategória tábla listája (A kód)

B I T M A N

Page 26: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 26/74

A kategória tábla listája (A kód futtatása)

Page 27: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 27/74

Statikus beszúrás a táblába (Kódrészletek)

Console.Write("Kérem a kategória kódját: ");

string kod = Console.ReadLine();

string stm = "Insert into Kategória Values (' "+kod+" ', ' "

+nev+" ')";

MySqlCommand cmd = new MySqlCommand(stm, conn);

cmd.ExecuteNonQuery();

Page 28: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 28/74

Statikus beszúrás a táblába (A kód)

B I T M A N

Page 29: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 29/74

Statikus beszúrás a táblába (A kód futtatása)

Page 30: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 30/74

Kétlépcsős beszúrás a táblába (Kódrészletek)

MySqlCommand cmd = new MySqlCommand();

cmd.Connection = conn;

cmd.CommandText = "INSERT INTO Kategória

VALUES(@Kód, @Név)";

cmd.Prepare();

string kod = Console.ReadLine();

string nev = Console.ReadLine();

cmd.Parameters.AddWithValue("@Kód", kod);

cmd.Parameters.AddWithValue("@Név", nev);

cmd.ExecuteNonQuery();

Page 31: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 31/74

Kétlépcsős beszúrás a táblába (A kód)

B I T M A N

Page 32: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 32/74

Kétlépcsős beszúrás a táblába (A kód futtatása)

Page 33: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 33/74

Bolt – Tárolt eljárás

KatNevMod nevű tárolt eljárás, mely módosítja egy

paraméterként megadott kódú kategória nevét.

DELIMITER //

CREATE PROCEDURE KatNevMod (in kk char(3), in kn

varchar(20))

BEGIN

Update Kategória set Név= kn where kkód= kk;

END; //

DELIMITER ;

CALL KatNevMod(′k01′, ′Élelmiszer′);

Page 34: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 34/74

KatNevMod eljárás létrehozása (A kód)

B I T M A N

Page 35: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 35/74

KatNevMod eljárás futtatása (Kódrészletek)

MySqlCommand cmd =

new MySqlCommand("KatNevMod", conn);

cmd.CommandType = CommandType.StoredProcedure;

cmd.Parameters.AddWithValue("@kk", "k01");

cmd.Parameters["@kk"].Direction =

ParameterDirection.Input;

cmd.ExecuteNonQuery();

Page 36: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 36/74

KatNevMod eljárás futtatása (A kód)

B I T M A N

Page 37: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 37/74

Bolt – Tárolt függvény

Bevetel nevű tárolt függvény, mely megadott nap bevételét adja vissza.

DELIMITER //

CREATE FUNCTION Bevetel (ip varchar(15)) returns int

BEGIN

DECLARE bev int default 0;

set ip = Concat(ip,’%’);

select sum(Ár*Darab) into bev from Termék T inner join

Vásárlás V ON T.Tkód=V.Tkód where időpont like ip;

RETURN bev;

END; //

DELIMITER ;

SELECT Bevetel(′2013-03-21′);

Page 38: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 38/74

A Bevetel függvény létrehozása (A kód)

B I T M A N

Page 39: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 39/74

A Bevetel függvény futtatása (Kódrészletek)

MySqlDataReader rdr = null;

Console.Write("Kérem a dátumot: ");

string datum = Console.ReadLine();

string stm = "SELECT Bevetel(' "+datum+" ');";

MySqlCommand cmd = new MySqlCommand(stm, conn);

rdr = cmd.ExecuteReader();

while (rdr.Read()) {

Console.WriteLine("A "+datum+".-i bevétel: "+rdr.GetString(0));

}

Page 40: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 40/74

A Bevetel függvény futtatása (A kód)

B I T M A N

Page 41: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 41/74

Témakörök

Kapcsolat nélküli adatelérés

Oracle kapcsolódás

C# jellegzetességek

Kapcsolat alapú adatelérés

Page 42: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 42/74

Kapcsolat nélküli adatelérés

Lépések:

– Kapcsolati sztring összeállítása

– Kapcsolat létesítése az adatbázishoz Connection

objektum segítségével

SQL parancsok összeállítása

– DataAdapter objektum(ok) létrehozása

– DataSet objektum(ok) létrehozása

– Adatok bemásolása a DataSet-be (DataTable) a Fill()

metódus meghívásával (automatikus kapcsolódás)

Page 43: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 43/74

Grafikus kitérő – Kapcsolódás (előkészületek)

A Visual Studio indítása

Új Projekt létrehozása

1

2

3

5

4

Page 44: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 44/74

Grafikus kitérő – Kapcsolódás (előkészületek)

A View menüben jelenítsük meg a Solution Explorert.

Page 45: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 45/74

Grafikus kitérő – Kapcsolódás (előkészületek)

A Solution Explorerben kattintsunk jobb egérgombban a

References menüre, és válasszuk az Add Reference-t.

Adjuk a projekthez a MySql.Data.dll providert.

1

2

3

4

Page 46: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 46/74

Grafikus kitérő – Kapcsolódás (A panel kialakítása)

Jelenítsük meg a Toolboxot (View\Toolbox)

Adjunk a projekthez egy nyomógombot.

Page 47: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 47/74

Grafikus kitérő – Kapcsolódás (A panel kialakítása)

Írjuk át a nyomógomb feliratát Kapcsolódás-ra.

Page 48: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 48/74

Grafikus kitérő – Kapcsolódás (A panel kialakítása)

Adjunk a panelhez egy feliratot (Toolbox\Label).

Page 49: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 49/74

Grafikus kitérő – Kapcsolódás (A panel kialakítása)

Kattintsunk duplán a Kapcsolódás gombra, így megjelenik

a kód. Egészítsük ki a megjelölt sorokkal a kódot.

B I T M A N

Page 50: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 50/74

Grafikus kitérő – Kapcsolódás (A panel kialakítása)

Mentsük le, fordítsuk le, és futtassuk le a programot.

1 2

3

4

Page 51: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 51/74

Grafikus kitérő – Kapcsolódás (A panel kialakítása)

Készítsünk egy Lekapcsolódás gombot is.

Page 52: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 52/74

Grafikus kitérő – Kapcsolódás (A panel kialakítása)

Kattintsunk duplán a Lekapcsolódás gombra, így

megjelenik a kód. Egészítsük ki a kódot.

B I T M A N

Page 53: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 53/74

Grafikus kitérő – Kapcsolódás (Próba)

Mentés, fordítás, futtatás.

Kész az első Windowsos, adatbázis-kezelős programunk.

1 2 3

Page 54: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 54/74

DataSet létrehozása (Panel kialakítása)

Készítsünk egy táblázatot, melyben megjelennek a

Kategória tábla adatai.

Adjunk panelünkhöz egy DataGridView komponenst!

Page 55: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 55/74

DataSet létrehozása (A kód módosítása)

Módosítsuk a Kapcsolódás gomb kódját:

Page 56: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 56/74

DataSet létrehozása (A program futtatása)

Mentés, fordítás, futtatás:

Page 57: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 57/74

Működő DataSet készítése (Az elv)

Betöltés:

– Kapcsolódás

– DataSet létrehozása

– Adatok táblázatos megjelenítése

– Lekapcsolódás

Módosítások: (insert, delete, update a DataSetben)

Kiírás:

– Kapcsolódás

– Módosítások kiírása

– Lekapcsolódás

Page 58: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 58/74

Működő DataSet készítése (A panel átalakítása)

Írjuk át a két nyomógomb feliratát!

Page 59: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 59/74

Működő DataSet készítése (Kódrészletek)

MySqlCommandBuilder builder = null;

MySqlDataAdapter da = new MySqlDataAdapter();

DataSet ds = new DataSet();

DataTable dt = new DataTable();

da.SelectCommand = new MySqlCommand("Select * from Kategoria", conn);

builder = new MySqlCommandBuilder(da);

da.Fill(ds);

dt = ds.Tables[0];

dataGridView1.DataSource = dt;

builder.GetUpdateCommand();

da.Update(dt); B I T M A N

Deklarációk

Beolvasás

Kiírás

Page 60: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 60/74

Működő DataSet készítése (A kód módosítása)

Page 61: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 61/74

Működő DataSet készítése (A kód módosítása)

Page 62: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 62/74

Működő DataSet készítése (A kód módosítása)

Page 63: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 63/74

Működő DataSet készítése (A kód)

Page 64: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 64/74

Témakörök

Kapcsolat nélküli adatelérés

Oracle kapcsolódás

C# jellegzetességek

Kapcsolat alapú adatelérés

Page 65: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 65/74

Oracle kapcsolódás (Előkészületek)

A Visual Studio indítása

Új Projekt létrehozása

1

2

3

5

4

Page 66: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 66/74

Oracle kapcsolódás (Előkészületek)

Rakjunk két nyomógombot, és egy Label-t a panelre.

Page 67: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 67/74

Oracle kapcsolódás (A kód I.)

Kattintsunk duplán a Kapcsolódás gombra, és írjuk meg

a kódját. A ConnectionString (cs) még hiányos!

Page 68: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 68/74

Oracle kapcsolódás (ConnectionString I.)

Készítsük el a

ConnectionString-et!

Tools\Connect to Database

Válasszuk ki, írjuk be az

adatokat!

Teszteljük a kapcsolatot!

Aztán OK!

1

2

3

4

5 6

Page 69: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 69/74

Oracle kapcsolódás (ConnectionString II.)

Kattintsunk a bal szélen a Database Explorer-re, az

ablakban a MSDAORA.localhost-ra, és jobb alul

megjelenik a ConnectionString.

1

2

3

Page 70: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 70/74

Oracle kapcsolódás (A kód II.)

Másoljuk be a ConnectionString-et a kódba, és

egészítsük ki a jelszóval!

Mentés, fordítás. Működik.

Page 71: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 71/74

Oracle kapcsolódás (A kód III.)

Kattintsunk duplán a Lekapcsolódás gombra, és írjuk

meg a kódját:

Mentés, fordítás, futtatás. Kész!

Page 72: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 72/74

B I T M A N

Page 73: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 73/74

Felhasznált irodalom

Barabás Péter: Adatbázis rendszerek 2.,

elektronikus jegyzet

Johanyák Zsolt Csaba: Adatbázis jegyzetek

Jánosi-Rancz Katalin Tünde: Adatbázisok,

elektronikus jegyzet

Cser Lajos: Adatbázis alapú rendszerek fejlesztése

Page 74: Adatbázis Rendszerek II. - users.iit.uni-miskolc.huusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1510_DotNet.pdf · 3/74 B I T M A N Adatbázis-kezelés C#-ban A .NET környezet lehetőséget

B I T M A N 74/74

VÉGE V É G E