Adabáziselérés ODBC-n keresztül utasításokkal C#-ban



Hasonló dokumentumok
Access adatbázis elérése OLE DB-n keresztül

Hozzunk létre két rekordot a táblában, majd véglegesítsünk (commit):

Johanyák Zsolt Csaba: Grafikus felület programozása. Copyright 2008 Johanyák Zsolt Csaba

Webszolgáltatás és XML alapú adatbázis. 1. Az adatbázis megtervezése

C#---Access adatbáziskezelési gyakorlat

Adatbázis alapú rendszerek gyakorlat Adatbázis alapú alkalmazásfejlesztés Java, C# környezetben

A gyakorlat során az alábbi ábrán látható négy entitáshoz kapcsolódó adatbevitelt fogjuk megoldani.

Johanyák Zsolt Csaba: Ugráló gomb oktatási segédlet Copyright 2008 Johanyák Zsolt Csaba

Vizuá lis prográmozá s

Segítség a megoldáshoz: 1. Készítse el a Window-t az ábrának és az osztálydiagramnak megfelelően.

Programozás BMEKOKAA146. Dr. Bécsi Tamás 8. előadás

Sorosítás (szerializáció) és helyreállítás. 1. Bináris sorosítás és helyreállítás Szükséges névterek Attribútumok. 1.3.

components : IContainer dx : int dy : int tmidőzítő : Timer toolstripseparator1 : ToolStripSeparator tsmikilépés : ToolStripMenuItem

Johanyák Zsolt Csaba: XML Webszolgáltatás alapú osztott alkalmazás fejlesztése (Mandelbrot halmaz számítás) oktatási segédlet

XML Webszolgáltatás alapú osztott alkalmazás fejlesztése Johanyák Zsolt Csaba 1

Johanyák Zsolt Csaba: Képnézegető program oktatási segédlet

Adatbázisok webalkalmazásokban

Entity Framework alapú adatbáziselérés

Kilencedik témakör: Lazarus-Firebird. Készítette: Dr. Kotsis Domokos

CREATE TABLE student ( id int NOT NULL GENERATED ALWAYS AS IDENTITY PRIMARY KEY, name varchar(100) NOT NULL, address varchar(100) NOT NULL )

Ugráló gomb oktatási segédlet Ugráló gomb

BME MOGI Gépészeti informatika 4.

WCF, Entity Framework, ASP.NET, WPF 1. WCF service-t (adatbázissal Entity Framework) 2. ASP.NET kliens 3. WPF kliens

Entity Framework alapú adatbáziselérés

Java Programozás 9. Gy: Java alapok. Adatkezelő 5.rész

Entity Framework alapú adatbáziselérés 2

Adatbázis rendszerek II. Adatbázis elérése C# kliens programból ADO.NET API-n keresztül

Adatbázis-kezelés ODBC driverrel

Vizuális programozás gyakorlat

munkafüzet open eseményéhez

Java Programozás 7. Gy: Java alapok. Adatkezelő 3.rész

Adatbázis Rendszerek II. 1. SQL programozási felületek 39/1B IT MAN

Java Programozás 5. Gy: Java alapok. Adatkezelő 1.rész

MDAC - Microsoft Data Access Components

A gyakorlat során MySQL adatbázis szerver és a böngészőben futó phpmyadmin használata javasolt. A gyakorlat során a következőket fogjuk gyakorolni:

Elemi alkalmazások fejlesztése IV. Adatbázis-kezelés ActiveX vezérlıkkel - 1

Java Programozás 8. Gy: Java alapok. Adatkezelő 4.rész

A Java nyelv. Dialógus ablakok. Elek Tibor

Adatbázis-kezelés ActiveX vezérl kkel 2.rész

TvNetTel Internet Kapcsolat Beállítása

OO PDO. Tehát PDO használatával, könnyen átállhatunk egy másik adatbáziskezelőre, anélkül hogy a kódot teljes egészében újraírnánk.

Entity Framework + LINQ oktatási segédlet

SZÁMÍTÓGÉPES ADATBÁZIS-KEZELÉS. A MySQL adatbáziskezelő PHP folytatás JDBC, ODBC

7. Előadás. Makrók alkalmazása. Salamon Júlia. Előadás I. éves mérnök hallgatók számára

Vizuális programozás gyakorlat

SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók

Munka a fájlokkal. Az általánosan használt fájltípusok. Programfájlok. Adatfájlok

Excel ODBC-ADO API. Tevékenységpontok: - DBMS telepítés. - ODBC driver telepítése. - DSN létrehozatala. -Excel-ben ADO bevonása

Szoftvertechnolo gia gyakorlat

Java Programozás 6. Gy: Java alapok. Adatkezelő 2.rész

SQL Backup and FTP. A program telepítésének menete. A szoftvert a következő weboldalról ingyenesen tölthető le:

(ArcCatalog, ArcMap)

3. Határozza meg és írja ki a minta szerint, hogy a forrásállományban hány kémiai elem felfedezési adatai

Gyakorlás: Hozzunk létre egy Alkalmazottak táblát AZO szám, Részleg szöveg, Munkakör szöveg és BelépésDátuma dátum típussal.

kommunikáció Megoldások

Felhasználói leírás a DimNAV Server segédprogramhoz ( )

MS ACCESS 2010 ADATBÁZIS-KEZELÉS ELMÉLET SZE INFORMATIKAI KÉPZÉS 1

Felhasználói dokumentáció. a TávTagTár programhoz. Készítette: Nyíri Gábor, hdd@nc-studio.com GDF Abakusz regisztrációs kód: GDFAba43

SQL PÉLDATÁR. készült a PTE TTK Iskolai informatika III. kurzus teljesítésére

A Microsoft Visual Studio 2005 fejlesztőkörnyezet

Access gyakorlati feladatok lépésről lépésre

Választó lekérdezés létrehozása

Kézikönyv. Felhasználói regiszter

Csatlakozás a BME eduroam hálózatához Setting up the BUTE eduroam network

BME MOGI Gépészeti informatika 13.

Makrók használata az Excelben - Makróhibák kezelése, biztonságos jelszavak generálása

Adatbázis kezelés Delphiben. SQL lekérdezések

BME MOGI Gépészeti informatika 18. Grafika, fájlkezelés gyakorló óra. 1. feladat Készítsen alkalmazást az = +

1. ábra Fájl feltöltése 2. ábra Megtekintés

Programozási technológia

Java Programozás 4. Gy: Java GUI. Tipper, MVC kalkulátor

Netlock Kft. által kibocsátott elektronikus aláírás telepítése Windows XP SP3 Internet Explorer 8 böngészőbe

SSL VPN KAPCSOLAT TELEPÍTÉSI ÚTMUTATÓ

Elemi Alkalmazások Fejlesztése Beadandó Feladat Juhász Ádám

Segédlet online felület használatához

Vizuális, eseményvezérelt programozás I.

Ingyenes DDNS beállítása MAZi DVR/NVR/IP eszközökön

Adatbázis kezelés alapjai I.

A d m i n i s z t r á c i ó s f e l a d a t o k a I n t e g r á l t K ö n y v t á r i R e n d s z e r b e n

BME MOGI Gépészeti informatika 7.

Oralce kliens installálása Windows Server 2003-ra

Az EV3. Az EV3 technológia csatlakoztatása. LEGO.com/mindstorms. Az EV3 Brick (Tégla) csatlakoztatása a számítógéphez

1 Rendszerkövetelmények

Rendszergazda kézikönyv

Az alábbiakban szeretnénk segítséget nyújtani Önnek a CIB Internet Bankból történő nyomtatáshoz szükséges böngésző beállítások végrehajtásában.

Windows 7. Szolgáltatás aktiválása

WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK

CareLink Personal telepítési útmutató. Első lépések a CareLink Personal adatfeltöltéshez

Windows alkalmazások készítése. A Windows rendszerben a felhasználó hozzászokott a menü, az eszköztár és a többalakos programok használatához.

JavaServer Pages (JSP) (folytatás)

I. rész: A Microsoft Visual C# és a Microsoft Visual Studio 2005 bemutatása. 1. Üdvözöljük a C# világában! 3

Eseményvezérelt alkalmazások fejlesztése II 12. előadás. Objektumrelációs adatkezelés (ADO.NET) Giachetta Roberto

Tájékoztató a kollégiumi internet beállításához

E-Freight beállítási segédlet

Objektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

1. A NÉPESSÉGNYILVÁNTARTÓ PROGRAM TELEPÍTÉSI FELTÉTELE. A

Vizuális programozás gyakorlat

Kézikönyv. Szelekciós jegyzék 2.

Objektum Orientált Programozás. 11. Kivételkezelés 44/1B IT MAN

Programozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010

Átírás:

Adabáziselérés ODBC-n keresztül utasításokkal C#-ban 1. Előkészítés Access adatbázis lemásolása, ODBC DSN létrehozása Másoljuk le az alábbiakat: Mit Honnan Hova list.mdb p:\johanyák Csaba\Vizualis programozas\data\ c:\munka Indítsuk el a Visual Studio 2008-at. Válasszuk ki a Tools menü Connect to Database menüpontját. A Data Source részben válasszuk a Microsoft ODBC Data Source (ODBC)-t, majd kattintsunk a Continue gombon. Az Add Connection ablak Data source specification csoportjában válasszuk ki a Use connection string-et, majd kattintsunk a Build gombon. A megjelenő Adatforrás párbeszédpan elen válasszuk ki a Gépi adatforrás fület, majd kattintsunk az Új gombon. Itt válasszuk ki a Rendszeradatforrást, majd kattintsunk a Tovább gombon. A megjelenő listában válasszuk ki a Microsoft Access Driver (*.mdb) -t, majd kattintsunk a Tovább gombon, majd a Befejezés gombon. Az ODBC Microsoft Access beállítások ablakban az Adatbázis csoportban kattintsunk a Kiválasztás gombon. A felbukkanó párbeszédablakban válasszuk ki az előzőekben lemásolt list.mdb állományt. Ezután adatforrás névként adjuk meg az swt1-et, és kattintsunk az OK gombon, majd zárjuk be OK-val az 1

Adatforrások ablakot. Nem kell azonosítót és jelszót megadni. Ezt követően zárjuk be OK-val az Add Connection ablakot. Kattintsunk a Test Connection gombon az Add Connection ablakban a kapcsolat ellenőrzése érdekében, majd az OK gombbal zárjuk be az ablakot. Ekkor a Server Explorer ablakban a DataConnections mappában egy új kapcsolat jelenik meg. 2. Alkalmazás létrehozása Hozzunk létre egy Windows Application típusú C# alkalmazást a C:\ munka könyvtárban DbMinta néven. A form neve legyen frmfőablak, az őt tartalmazó állomány neve legyen frmfoablak.cs, az ablak felirata legyen: Adatbáziskezelés ODBC-n keresztül. Helyezzünk el a formon egy menüt (MenuStrip), aminek a neve legyen: msfőmenü. Menüpontok: Kilépés: Name=tsmiKilépés. Készítsen a Kilépés menüpont Click eseményéhez egy eseménykezelőt, és helyezze el abban a kilépést biztosító utasítást: Application.Exit(); Adatrögzítés: Name=tsmiAdatrögzítés, eseménykezelő: lásd később Lekérdezés: Name=tsmiLekérdezés, Legyen benne két almenüpont: email címek listája: Name=tsmiEmailCímekListája Összes adat: Name=tsmiÖsszesAdat Az frmfőablakform kódjában helyezzük el: using System.Data.Odbc; Hozzunk létre egy új formot (Project menü, Add Windows Form, Templates: Windows Form, Name=frmFelvitel.cs). Tartalmazzon három címkét (Label): Név, EHA, e-mail felirattal, három szerkesztőmezőt (TextBox): Name=tbNév, Name=tbEHA, Name=tbEmail néven. Helyezzünk el két nyomógombot (Button) a formon Name=btOK, Text=OK, DialogResult=OK és Name=btMégsem, Text=Mégsem, DialogResult= Cancel. A form fejlécébe helyezzük el az Adatfelvitel szöveget. Az frmfelvitel kódjában helyezzük el: using System.Text.RegularExpressions; Készítsünk egy-egy tulajdonságot a három szerkesztőmezőhöz, amin keresztül beállítható és lekérdezhető a bennük tárolt szöveg a formon kívülről is. public string EHA { return tbeha.text; { tbeha.text = value; 2

public string Nev { return tbnév.text; { tbnév.text = value; public string email { return tbemail.text; { tbemail.text = value; Készítsünk egy ellenőrző eseménykezelőt az frmfelvitel tbnév szerkesztőmezőjéhez, ami a mező elhagyásakor (Validating esemény) aktivizálódik. Csak betűt és szóközt fogadhat el. private void tbnév_validating(object sender, CancelEventArgs e) { string név = tbnév.text; for (int i = 0; i < név.length; i++) if (!Char.IsLetter(név[i]) && név[i]!= ' ') { e.cancel = true; MessageBox.Show("A névben csak betű és szóköz állhat!", "Adatbeviteli hiba", MessageBoxButtons.OK, MessageBoxIcon.Error); break; Készítsünk egy ellenőrző eseménykezelőt az frmfelvitel tbeha szerkesztőmezőjéhez, ami a mező elhagyásakor (Validating esemény) aktivizálódik. Csak betűt és pontot fogadhat el. private void tbeha_validating(object sender, CancelEventArgs e) { string EHA = tbeha.text; for (int i = 0; i < EHA.Length; i++) if (!Char.IsLetter(EHA[i]) && EHA[i]!= '.') { e.cancel = true; MessageBox.Show("Az EHA kódban csak betű és pont állhat!", "Adatbeviteli hiba", MessageBoxButtons.OK, MessageBoxIcon.Error); break; Készítsünk egy ellenőrző eseménykezelőt az frmfelvitel tbemail szerkesztőmezőjéhez, ami a mező elhagyásakor (Validating esemény) aktivizálódik: 3

private void tbemail_validating(object sender, CancelEventArgs e) { string email = tbemail.text; if (!Regex.IsMatch(email, @"^([\w-\.]+)@((\[[0-9]{1,3\.[0-9]{1,3\.[0-9]{1,3\.) " + @"(([\w-]+\.)+))([a-za-z]{2,4 [0-9]{1,3)(\]?)$" )) { MessageBox.Show("A megadott e-mail cím érvénytelen!", "Adabeviteli hiba", e.cancel = true; Készítsünk egy eseménykezelőt az frmfelvitel OK gombjához (Click esemény), ami csak akkor engedi bezárni a párbeszédablakot, ha minden mező ki van töltve. private void btok_click(object sender, EventArgs e) { bool VanHiba = false; if (tbnév.text.length == 0) { MessageBox.Show("A név megadása kötelező!", "Adabeviteli hiba", VanHiba = true; if (tbeha.text.length == 0) { MessageBox.Show("Az EHA kód megadása kötelező!", "Adabeviteli hiba", VanHiba = true; if (tbemail.text.length == 0) { MessageBox.Show("Az e-mail cím megadása kötelező!", "Adabeviteli hiba", VanHiba = true; if (!VanHiba) { DialogResult = DialogResult.OK; this.close(); Készítsünk egy eseménykezelőt az frmfőablak Adatrögzítés menüpontjához (Click esemény), ami megjeleníti a párbeszédablakot, és annak sikeres lezárása eén kapcsolatot nyit az adatbázishoz, beszúrja az adatbázisba a friss adatokat, majd lezárja a kapcsolatot. Kezeli az eleges kivételeket. private void tsmiadatrögzítés_click(object sender, EventArgs e) { // Adatbeviteli párbeszédablak létrehozása frmfelvitel ff = new frmfelvitel(); // Párbeszédablak megjelenítése és OK gomb eén adatfelvitel if (ff.showdialog() == DialogResult.OK) { try { // ODBC kapcsolat objektum létrehozása OdbcConnection Kapcsolat = new OdbcConnection(); // Kapcsolódási sztring definiálása Kapcsolat.ConnectionString = " DSN=SWT1; "+ "UID=admin"; // Adatfelviteli SQL parancs definiálása OdbcCommand Parancs = new OdbcCommand( 4

"INSERT INTO lista (EHA,Nev,email)" + "VALUES ('" + ff.eha + "','" + ff.nev + "','" + ff.email + "')", Kapcsolat); // Kapcsolat megnyitása Parancs.Connection.Open(); // SQL parancs végrehajtása Parancs.ExecuteNonQuery(); // Kapcsolat lezárása Kapcsolat.Close(); catch (Exception exc) { MessageBox.Show(exc.Message, "Adatbázis hiba", Hozzunk létre egy új formot (Project menü, Add Windows Form, Templates: Windows Form, Name=frmOsszesAdat.cs) frmösszesadat néven, text= Összes Adat. Helyezzünk el rajta egy DataGridView komponenst Name=dgvRács, Dock=Fill. A hozzáadás, szerkesztés és törlés legyen letiltva. Hozzunk létre az frmösszesadat form osztályában egy csak írható tulajdonságot az adatkötés támogatására: public DataTable AdatForrás { { dgvrács.datasource = value; Készítsünk egy eseménykezelőt az frmfőablak Lekérdezés menü Összes adat menüpontjához (Click esemény), melyben létrehozunk egy frmösszesadat típusú párbeszédablakot, egy adatbázis kapcsolat objektumot és definiálunk egy adatbázis kapcsolati sztringet. Megnyitjuk az adatbázis kapcsolatot. Létrehozunk egy OdbcDataAdapter objektumot, beállítjuk a lekérdezési parancs tulajdonságát. Létrehozunk egy DataSet objektumot, az adapterrel feltöltetjük az adathalmaz objektumot. Beállítjuk a párbeszédablakon levő rács adatforrásaként az adathalmazt. Zárjuk az adatbázis kapcsolatot. Megjelenítjük a párbeszédablakot. 5

private void tsmiösszesadat_click(object sender, EventArgs e) { frmösszesadat foa = new frmösszesadat(); OdbcConnection Kapcsolat = new OdbcConnection(); Kapcsolat.ConnectionString = " DSN=SWT1;UID=admin"; try { Kapcsolat.Open(); OdbcDataAdapter Adapter = new OdbcDataAdapter(); Adapter.SelectCommand = new OdbcCommand("SELECT * FROM lista ", Kapcsolat); DataSet data = new DataSet(); Adapter.Fill(data); foa.adatforrás = data.tables["table"]; Kapcsolat.Close(); foa.showdialog(); catch (Exception exc) { MessageBox.Show(exc.Message, "Adatbázis hiba", Fordítsuk és futtassuk le a programot, próbáljuk ki az adatfelvitelt és az összes adat lekérdezését. Hozzunk létre egy formot az e-mail címek megjelenítésére Name=frmEmailLista, Text=email címek listája. Helyezzünk el egy szerkesztőmezőt a formon. Name=tbEmail, Text="", Dock=Fill, ReadOnly=True, scrollbars=vertical, Multiline=True. Hozzunk létre egy tulajdonságot az frmemaillista osztályban a tbemail szerkesztőmező elérésére: public string EmailCímek { return tbemail.text; { tbemail.text = value; Készítsünk egy eseménykezelőt az frmfőablak e-mail címek listája menüpontjához (Click esemény). Ebben létrehozunk egy kapcsolat objektumot. Definiálunk egy kapcsolat sztringet. Létrehozunk egy SQL parancs objektumot. Megnyitjuk a kapcsolatot. Adatlekérő objektumot hozunk létre. Létrehozzuk a párbeszédablakot. Töröljük a szövegmező tartalmát. Egyenként lekérjük a rekordokat, és mindegyikből az e-mail címet bemásoljuk a párbeszédablak szövegmező egy új sorába. Lezárjuk az adatlekérő objektumot. Lezárjuk az adatkapcsolatot az adatbázissal. 6

private void tsmiemailcímeklistája_click(object sender, EventArgs e) { try { // Kapcsolat objektum létrehozása OdbcConnection Kapcsolat = new OdbcConnection(); // Kapcsolat sztring definiálása Kapcsolat.ConnectionString = "DSN=SWT1;UID=admin"; // SQL parancs objektum létrehozása OdbcCommand Parancs = new OdbcCommand( "SELECT email FROM lista WHERE email IS NOT NULL", Kapcsolat); // Kapcsolat megnyitása Kapcsolat.Open(); // Adatlekérő objektum létrehozása OdbcDataReader Olvasó = Parancs.ExecuteReader(); // Létrehozzuk a párbeszédablakot frmemaillista fem = new frmemaillista(); // Töröljük a szövegmező tartalmát fem.emailcímek = ""; // Egyenként lekérjük a rekordokat, és mindegyikből az e-mail // címet bemásoljuk a párbeszédablak szövegmező egy új sorába while (Olvasó.Read()) { string Email = Olvasó.GetString(0); fem.emailcímek += Email + "\r\n"; // Lezárjuk az adatlekérő objektumot Olvasó.Close(); // Lezárjuk az adatkapcsolatot az adatbázissal Kapcsolat.Close(); fem.showdialog(); catch (Exception exc) { MessageBox.Show(exc.Message, "Adatbázis hiba", 3. Házi feladat Egészítse ki a programot az adatbázis módosításának lehetőségével. Egy űrlapon kérje be az EHA kódot, keresse ki az annak megfelelő rekordot, jelenítse meg, és tegye lehetővé a felhasználó számára, hogy módosítsa azt, majd a módosított rekordot másolja az adatbázisba. 7