Adatbázis-kezelés ODBC-vel

Hasonló dokumentumok
Adatbázis-kezelés API hívásokkal. Adatbázis-kezelés ODBC-vel. Adatbázis-kezelés SQL parancsokkal. Adatbázis-kezelés ODBC-vel.

Adatbázis-kezelés ODBC driverrel

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

Eseményvezérelt alkalmazások

Adatbázis-kezelés ActiveX vezérl kkel

A könyv tartalomjegyzéke

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

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

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

Adatbázisok webalkalmazásokban

ADATBÁZISKEZELÉS KÖZVETLEN ELÉRÉSSEL II...2

1. feladat. Szabóné Nacsa Rozália

SQL jogosultság-kezelés. Privilégiumok Grant és Revoke Grant Diagrammok

MDAC - Microsoft Data Access Components

Egységes és objektumközpontú adatbázis-kezelés (2. rész)

SDI ALKALMAZÁS I. Workspace / ResourceView / Toolbar / IDR_MAINFRAME. Workspace / ResourceView / Menu / IDR_MAINFRAME

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

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.

Adatbázis-lekérdezés. Az SQL nyelv. Makány György

Adatbázis rendszerek SQL nyomkövetés

Táblakezelés: Open SQL Internal table. Tarcsi Ádám: Az SAP programozása 1.

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

1. Feladat: Lista mysql BANK UGYFEL

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

Adatbázis-kezelés. Harmadik előadás

LBRA6i integrált rendszer

Elemi alkalmazások fejlesztése IV.

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

8. Gyakorlat SQL. DDL (Data Definition Language) adatdefiníciós nyelv utasításai:

MySql elindítása. Elemi alkalmazások fejlesztése IV. Feladat. Az alkalmazás adatbázisa

Adatbázis, adatbázis-kezelő

Java és web programozás

Adatbázis Rendszerek II. 5. PLSQL Csomagok 16/1B IT MAN

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT október október 26. Adatbázisok 1 / 17

Tartalomjegyzék. Tartalomjegyzék 1. Az SQL nyelv 1 Az SQL DDL alapjai 2

SQL ALAPOK. Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai

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.

munkafüzet open eseményéhez

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:

Adatbázis Rendszerek II. 8. Gyakorló környezet

Adatbázisok I A relációs algebra

ADATBÁZISOK gyakorlat: SQL 2. rész SELECT

II. év. Adatbázisok és számítógépek programozása

Adatbázisok* tulajdonságai

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

Java programozási nyelv 11. rész Adatbázis-programozás

Adatbázisok. 2. gyakorlat SQL november november 12. Adatbázisok 1 / 31

Adatbázisok I. Definíció: DDL: - objektum létrehozás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER


Adatbázisok. 9. gyakorlat SQL: SELECT október október 26. Adatbázisok 1 / 14

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

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

ISA szimulátor objektum-orientált modell (C++)

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 4.ELŐADÁS. Adatbázis alapú alkalmazások készítése PHP-ben

Csomag. Adatbázis-objektum Programozási eszközök gyűjteménye Két részből áll. specifikáció törzs (opcionális)

A szürke háttérrel jelölt fejezet/alfejezet szövege a CD-mellékleten található. A CD-melléklet használata. 1. Elméleti áttekintés 1

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

Szabóné Nacsa Rozália. Feladat. Készítsünk el egy üres FormView alapú alkalmazást és építsünk köré egy súgó környezetet.

Készítsen egy adatbázist (egytáblásat) egy számítástechnikai tanfolyam résztvevőiről. Az adattábla rögzítse a következőket:

GEIAL Kovács László. GEIAL Kovács László GEIAL Kovács László

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


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

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

Készítette: Szabóné Nacsa Rozália

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE) október október 22. Adatbázisok 1 / 14

Vizuális programozás gyakorlat

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:

Adattípusok. Max. 2GByte

Webfejlesztés 4. alkalom

Adattípusok. Max. 2GByte

IBM WebSphere Adapters 7. változat 5. alváltozat. IBM WebSphere Adapter for Oracle E-Business Suite felhasználói kézikönyv 7. változat 5.

SQL. Táblák összekapcsolása lekérdezéskor Aliasok Allekérdezések Nézettáblák

2 Access 2016 zsebkönyv

Kalmár György Adatbázis alapú rendszerek

Java és web programozás

Extrémen brutál, gyors talpaló PHP nyelvhez (database). v2.1

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

Tábla létrehozása: CREATE TABLE alma( ID INT( 3 ) NOT NULL PRIMARY KEY, Leiras VARCHAR( 100 ) );

Könyvtári nyilvántartás

1. Az Access 2000 indítása után válasszuk az Üres adatbázis létrehozása pontot,

Elemi alkalmazások fejlesztése III.

Adatbázis Rendszerek I. 10. SQL alapok (DML esettanulmány)

Adatbázis rendszerek 7. előadás State of the art

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

Az SQL adatbázisnyelv: DML

Entity Framework alapú adatbáziselérés

ADATBÁZIS-KEZELÉS FÉLÉVES FELADAT

Adatbáziskezelés php-ben MySQL adatbáziskezelı rendszert használva

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

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

Adatbázisok I. Az SQL nyelv

"Egységes erdélyi felnőttképzés Kárpát-medencei hálózatban" JAVA ALAPÚ WEBPROGRAMOZÁS. M6 Modul: A DOM Modell

STRUCTURED QUERY LANGUAGE(SQL) - ALAPOK

Adatok szűrése, rendezése


BEVEZETÉS Az objektum fogalma

Mobil Partner telepítési és használati útmutató

SQL parancsok feldolgozása

Adatbázis tartalmának módosítása

Átírás:

Adatbázis-kezelés ODBC-vel Készítette: Szabóné Nacsa Rozália 2004. november

Adatbázis-kezelés API hívásokkal Alkalmazás Adatbázis 1 API 1 API 1 hívások Adatbázis 2 API 2 Alkalmazás API 2 hívások

Adatbázis-kezelés SQL parancsokkal Adatbázis 1 API 1 SQL Alkalmazás Adatbázis 2 API 2 SQL parancsok SQL

Adatbázis-kezelés ODBC-vel SQL Adatbázis 1 API 1 ODBC eljárások ODBC driver 1 Alkalmazás SQL parancsok SQL ODBC eljáráshívások Adatbázis 2 API 1 ODBC eljárások ODBC driver 2 ODBC driver 1

Adatbázis-kezelés ODBC-vel SQL Adatbázis 1 API 1 ODBC eljárások ODBC driver 1 Alkalmazás SQL parancsok SQL ODBC eljáráshívások Adatbázis 2 API 1 ODBC eljárások ODBC driver 2 ODBC driver 2

ODBC architektúra Access driver Driver (meghajtó) MySQL driver DSN (adatforrás) Elemi alkalmazások fejlesztése adatbázis Adatbázis 1 A program indításakor a driver manager beolvassa az adatforrás adatait és betölti a drivert. driver 1 CDataBase példány CRecordSet példány Alkalmazás Függvényhívások Adatbázis 2 driver 2

Adatbázis regisztráció Driver (meghajtó) MySQL driver DSN (adatforrás) Elemi alkalmazások fejlesztése eaf Driver (meghajtó) Access driver DSN (adatforrás) Elemi alkalmazások fejlesztése EAF

Vezérl pult/felügyeleti eszközök A driverek és az adatbázis összerendelése: REGISZTRÁCIÓ

ODBC adatforrás

Alkalmazás készítése tündérrel

Alkalmazás tündér - 1

A MySQL nem támogatja a Dynaset opciót. Alkalmazás tündér - 2

Alkalmazás tündér - 3

Alkalmazás tündér - 4

Alkalmazás tündér - 5

Alkalmazás tündér - 6

Fordítás

Futtatás Adatbázis navigáló eszközök

A projekt felépítése - osztályszerkezet (részlet) CRecordSet m_strsort m_strfilter Open() MoveFirst() MoveNext() iseof() Update()... CRecordView OnMove() CEefView m_pset CEafSet CRecordSet objektumra mutató pointer m_diak_id m_azon m_nev

Adatkezelés

rlap megtervezése IDC_DIAK_ID IDC_AZON IDC_NEV

Vezérl k és adattagok összekapcsolása Dupla kattintással

Vezérl k és adattagok összekapcsolása

Vezérl k és adattagok összekapcsolása

Fordítás/Futtatás Eddig még egy sor kódot sem írtunk, de már böngészhetünk az adatbázisunkon.

A Recordset és a RecordView kapcsolata - 1 CRecordSet m_strsort m_strfilter CRecordView OnMove() Adatbázis ODBC driver DoFieldExchange Open() MoveFirst() MoveNext() iseof() Update()... CEafSet m_diak_id m_azon m_nev CEafView m_pset CRecordSet objektumra mutató pointer UpdateData(TRUE) DoDataExchange UpdateData(FALSE) Dialógus ablak

A Recordset és a RecordView kapcsolata - 2 A View osztályból a RecordSet tagfüggvényeit az m_pset mutatón keresztül érjük el. Pl.: m_pset->movefirst(); Adatbázis ODBC driver DoFieldExchange CRecordSet m_strsort m_strfilter Open() MoveFirst() MoveNext() iseof() Update()... CEafSet m_diak_id m_azon m_nev CRecordView OnMove() CEafView m_pset CRecordSet objektumra mutató pointer UpdateData(TRUE) DoDataExchange UpdateData(FALSE) Dialógus ablak

RecordSet: Sz rés, rendezés CRecordSet::m_strSort: CRecordSet::m_strFilter: az SQL parancs ORDER BY klauzúlája az SQL parancs WHERE klauzúlája Select * from diak order by azon ASC; m_strsort = azon Select * from diak order by diak_id DESC; m_strsort = diak_id DESC Az új beállítások érvényesítéséhez meg kell hívni az Open() vagy a Requery() tagfüggvényeket.

Sz rés, rendezés: menüpontok Illesszük be projektünkbe a Rendezés menüpontot!

Rendezés - 1

Rendezés - 2 void CEafView::OnSortAzon() { m_pset->close(); m_pset->m_strsort = "azon"; m_pset->open(); UpdateData(FALSE); } //Új record set feltöltése az adatbázisból //Vezérl k frissítése a record setb l void CEafView::OnSortDiakId() { m_pset->m_strsort = "diak_id"; m_pset->requery(); UpdateData(FALSE); } //Nyitott record set frissítése az adatbázisból //Vezérl k frissítése a recordsetb l

Rekordok szerkesztése CRecordView OnMove() CEafView m_pset A módosítás akkor kerül be az adatbázisba, amikor lelépünk a rekordról. Ha a vezérl k megváltoznak, a virtuális OnMOve() végrehajtódik.

OnMove() {... UpdateData(TRUE);... } Rekord módosítása - 1 CRecordSet m_strsort m_strfilter CRecordView OnMove() Move() { Open()... MoveFirst() DoFieldExchange //makró MoveNext()... iseof() CEafView } Update() Dialógus m_pset Move() 3 ablak... 1 ODBC driver DoFieldExchange 4 CEafSet m_diak_id m_azon m_name CRecordSet objektumra mutató pointer UpdateData(TRUE) 2

OnMove() {... UpdateData(TRUE);... } Move() {... DoFieldExchange //makró... } Rekord módosítása - 2 CRecordSet m_strsort m_strfilter Open() MoveFirst() MoveNext() iseof() Update() Move()... CRecordView OnMove() CEafView m_pset Read only Dialógus ablak ODBC driver DoFieldExchange CEafSet m_diak_id m_azon m_name

Rekord beszúrása - 1

1. Létrehoz egy üres rekordot a RecordSet-ben. 2. Frissíti az adatforrást. 3. Frissíti a vezérl ket. CRecordSet m_strsort m_strfilter x y z 1 2 3 1 Rekord beszúrása - 2 Read only CRecordView OnMove() void CPeopleView::OnRecordAdd() { m_pset->addnew(); m_pset->update(); UpdateData(FALSE);. } 2 Open() MoveFirst() MoveNext() iseof() Update() Move() AddNew()... CPeopleView m_pset onrecordadd() Dialógus ablak ODBC driver DoFieldExchange CPeopleSet m_diak_id m_azon m_nev 3 UpdateData(FALSE)

Rekord beszúrása read only mez k kezelése - 1 Read only Új rekord beszúrásakor a dialógus ablakban a read only státuszt fel kell oldani.

Rekord beszúrása read only mez k kezelése - 2 CRecordSet m_strsort m_strfilter CRecordView Read only Bevezetünk egy új adattagot, amellyel azt jelezzük, hogy éppen melyik OnMove()-ot kell végrehajtani. 2 x y z 1 2 3 Open() MoveFirst() MoveNext() iseof() Update() Move() AddNew()... 1 OnMove() CPeopleView m_pset m_addingrecord OnRecordAdd() OnMove() Dialógus ablak ODBC driver DoFieldExchange CPeopleSet m_diak_id m_azon m_nev 3 UpdateData(FALSE)

Rekord beszúrása read only mez k kezelése - 3 CEafView::CEafView() : CRecordView(CEafView::IDD) { //{{AFX_DATA_INIT(CEafView) m_pset = NULL; //}}AFX_DATA_INIT // TODO: add construction code here m_addingrecord = FALSE; }

Rekord beszúrása read only mez k kezelése - 4 void CEafView::OnRecordAdd() { //Létrehoz egy üres rekordot a recordset-ben m_pset->addnew(); //"read only" vezérl k "engedélyezése" maddingrecord = TRUE; CEdit* pctrl = (CEdit*)GetDlgItem (IDC_DIAK_ID); int result = pctrl->setreadonly(false); } //Az aktuális rekord (üres) adatainak átmásolása a recordset-be. UpdateData(FALSE);

EafView::OnMove() 1

EafView::OnMove() 2 BOOL CEafView::OnMove(UINT nidmovecommand) { if (m_addingrecord) { m_addingrecord = FALSE; UpdateData(TRUE); //vezérl k -> recordset if(m_pset->canupdate()) m_pset->update(); //Adatbázis frissítése m_pset->requery(); //adatbázis -> recordset UpdateData(FALSE); //recordset -> vezérl k } } else { } //"read only" visszaállítása CEdit* pctrl = (CEdit*)GetDlgItem(IDC_DIAK_ID); pctrl->setreadonly(true); return TRUE; return CRecordView::OnMove(nIDMoveCommand);

Fordítás/Futtatás Beszúrásnál megadhatunk egy kódot. Egyéb esetekben a kód mez csak olvasható.

Rekord törlése - 1

Rekord törlése - 2

Rekord törlése - 3 void CEafView::OnRecordDelete() { m_pset->delete(); m_pset->movenext(); //Töröljük az aktuális rekordot //Ráállunk a következ rekordra, ha van ilyen if (m_pset->iseof()) m_pset->movelast(); if (m_pset->isbof()) m_pset->setfieldnull(null); UpdateData(FALSE); }

A munkafüzetben bemutatott projekt letölthet a people.inf.elte.hu/nacsa/eaf/eaf4/projects/eafadmin_odbc címr l.