Elemi alkalmazások fejlesztése IV. Adatbáziskezel alkalmazás készítése QtDesignerben. Készítette: Szabóné Nacsa Rozália

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "Elemi alkalmazások fejlesztése IV. Adatbáziskezel alkalmazás készítése QtDesignerben. Készítette: Szabóné Nacsa Rozália"

Átírás

1 Elemi alkalmazások fejlesztése IV. Adatbáziskezel ő alkalmazás készítése QtDesignerben Készítette: Szabóné Nacsa Rozália 1

2 Származtatásos modulszerkezet Q t form.ui U formbase.h Örökl ő dés form.h formbase.cpp form.cpp main.cpp Írás, olvasás Olvasás Generálás #includes Eszköz (tool) Generált forráskód Felhasználó forráskódja A formbase.h és a formbase.cpp minden módosításnál újra generálódik. Az alkalmazásspecifikus funkciókat a származtatott osztályban adjuk meg. 2

3 Származtatásos modulszerkezet Q t form.ui U formbase.h Örökl ő dés form.h saját formbase.cpp form.cpp main.cpp Írás, olvasás Olvasás Generálás #includes Eszköz (tool) Generált forráskód Felhasználó forráskódja saját Kiküszöbölhetnénk az öröklődést, ha úgy tudnánk beleírni a formbase.h és formbase.cpp fájlokba, hogy a generálás a kiegészítést nem rontaná el. 3

4 ui.h -s modulszerkezet form.ui.h Qt designer form.ui Az alkalmazásspecifius funkciókat a form.ui.h implementációs fájlban adjuk meg. U form.h Írás, olvasás Olvasás Generálás #includes Eszköz (tool) Generált forráskód Felhasználó forráskódja form.cpp main.cpp 4

5 A QtDesigner ablakai ProjectOverview Toolbox ObjectExplorer Properties Editor/ Signal Handlers 5

6 Feladat Új csoportok felvétele, bejegyzett csoportok módosítása, törlése. 6

7 Feladat a megvalósítás lépései 1 2 Új csoportok felvétele, bejegyzett csoportok módosítása, törlése. F ablak + félév tábla létrehozása ő Csoport tábla elkészítése Gombok hozzáadása, dialógus elkészítése 3 7

8 FelevDataTable (QDataTable) primeinsert() beforeupdate() currentchanged() beforeinsert() A CsoportRegistrationForm osztálydiagramja CsoportRegistrationForm (QDialog) EditCsoportForm (QDialog) CsoportDataTable (QDataTable) primeinsert() cursorchanged() EditPushButton (QPushButton) clicked() QuitPushButton (QPushButton) clicked() 8

9 Új projekt létrehozása: File/New/C++ Project 9

10 Project Overview: csopreg.pro 10

11 Project/Database connections

12 Projekt és adatbázis leíró tárolása A projektet leíró text fájl Adatbázist leíró XML fájl 12

13 connection modul létrehozása File/New connection.h File/New connection.cpp Az alkalmazás adatbáziskapcsolatát nekünk kell kiépíteni. 13

14 #define DB_SOURCE_DRIVER "QMYSQL3" #define DB_SOURCE_DBNAME "eaf" #define DB_SOURCE_USER "nacsa" #define DB_SOURCE_PASSWD "1234" #define DB_SOURCE_HOST "localhost" bool createconnections(); connection.h connection.cpp #include <qsqldatabase.h> #include "connection.h" bool createconnections() { QSqlDatabase *source = QSqlDatabase::addDatabase( DB_SOURCE_DRIVER); source->setdatabasename( DB_SOURCE_DBNAME ); source->setusername( DB_SOURCE_USER ); source->setpassword( DB_SOURCE_PASSWD ); source->sethostname( DB_SOURCE_HOST ); if (! source->open() ) { qwarning( "Az adatbázist nem sikerült megnyitni: " + source->lasterror().drivertext() ); qwarning( source->lasterror().databasetext() ); return FALSE; } return TRUE; } 14

15 File/New/Dialog CsoportRegistrationForm: létrehozás 15

16 File/New F ő program létrehozása: main.cpp A QtDesigener automatikusan felajánlja a főablakot. 16

17 main.cpp: generált változat A main.cpp nem tartalmazza az alkalmazás adatbáziskapcsolatát. 17

18 main.cpp: módosított változat #include <qapplication.h> #include "csoportregistrationform.h" #include "connection.h" int main( int argc, char ** argv ) { QApplication app( argc, argv ); Az alkalmazás adatbáziskapcsolatát nekünk kell megvalósítani. if (!createconnections()) return 1; } CsoportRegistrationForm csopregform; csopregform.show(); app.connect( &app, SIGNAL( lastwindowclosed() ), &app, SLOT( quit() ) ); return app.exec(); 18

19 ProjectOveview felépítése A QtDesigner Project/Overview ablaka 19

20 A Config-ban szerepelnie kell thread opciónak. A Qt 3-ban külön be kell állítani! 20

21 A felev tábla ráhelyezése az ű rlapra 2 Válassza ki a DataTable eszközt! 3 Kattintson az űrlapra! 1 Válassza ki a CsoportRegistration Form űrlapot! 21

22 Data Table Wizard: Choose the Database and Table Adjuk meg, hogy az adatbázis felev táblájával szeretnénk dolgozni. 22

23 Data Table Wizard: Displayed Fields 23

24 Data Table Wizard: Table Properties 24

25 Data Table Wizard: SQL 25

26 Data Table Wizard: Finish 26

27 FelevDataTable Lay Out in a Grid Ctrl+T Tesztelés a QtDesigner adatbáziskezelőjével. 27

28 CsoportRegistrationForm: Els ő változat futtatása Nincs adatellenőrzés. Új csoport felvitelekor a háttérben meghúzódó felev_id nem kap értéket. Ha még egy rekordot be szeretnénk szúrni, akkor hibaüzenetet kapunk. mysql> select * from felev; felev_id szam kezdet fsz max / / / / / xxxxxxx rows in set (0.00 sec) 28

29 FelevDataTable (QDataTable) primeinsert() beforeupdate() beforeinsert() currentchanged() CsoportRegistrationForm (QDialog) Signálok és slotok slotprimeinsertfelev() slotbeforeupdatefelev() slotcurrentchangedfelev() slotprimeinsertfelev(): sorszám kiosztása slotbeforeupdate()felev: adatellenőrzés slotcurrentchangedfelev(): helyi menü állapota 29

30 slotprimeinsertfelev() 1 2 A felev táblában a slotprimeinsertfelev() slotban kezeljuk a sorszám kiosztását. 30

31 Edit/Slots.../slotPrimeInsertFelev() slotprimeinsertfelev() 1 2 slotprimeinsertfelev(qsqlrecord* buffer) 3 31

32 csoportregistrationform.ui.h: slotprimeinsertfelev() Forrásprogram szerkesztő csoportregistrationform.ui.h A kódot nekünk kell begépelni. 32

33 slotprimeinsertfelev(): kód void CsoportRegistrationForm::slotPrimeInsertFelev( QSqlRecord *buffer ) { // felev_id kitöltése a következ ő sorszámmal QSqlQuery query; query.exec("update sequence Set sequence = sequence + 1 WHERE tablename = 'felev';"); query.exec("select sequence from sequence where tablename = 'felev';"); if (query.next() ) { buffer->setvalue("felev_id", query.value(0)); } } //Kezdetiértékek beállítása buffer->setvalue("szam",1); buffer->setvalue("fsz",4); buffer->setvalue("kezdet","2003/2004-1"); buffer->setvalue("max",20); 33

34 Signal / slot kapcsolat kiépítése

35 Sender: FelevDataTable Signal: primeinsert (QSqlrecord*) 35

36 Receiver: CsoportRegistrationForm Slot: slotpprimeinsertfelev (QSqlrecord*) Sender: FelevDataTable Signal: primeinsert(qsqlrecord*) Receiver: CsoportRegistrationForm Slot: slotprimeinsertfelev(qsqlrecord* buffer) 36

37 A csopreg.pro fájl SOURCES += connection.cpp \ main.cpp HEADERS += connection.h unix { UI_DIR =.ui MOC_DIR =.moc OBJECTS_DIR =.obj } FORMS = csoportregistrationform.ui TEMPLATE =app CONFIG += qt warn_on release thread DBFILE = csopreg.db LANGUAGE = C++ A projektet leíró fájl tartalma 37

38 Fordítás/Szerkesztés qmake -o Makefile csopreg.pro make 38

39 Futtatás:./csopreg Beszúrásnál felajánlja a kezdetiértékeket. A felev_id sorszámot kapott. mysql> select * from felev; felev_id szam kezdet fsz max / / / / / / rows in set (0.00 sec) 39

40 Adatellen ő rzés: slotbeforeupdatefelev() 1 Mielőtt az adatokat visszaírjuk az adatbázisba, ellenőrizzünk. (slotbeforeupdatefelev())

41 csoportregistrationform.ui.h: slotbeforeupdatefelev() 41

42 slotbeforeupdatefelev(): kód - 1 void CsoportRegistrationForm::slotBeforeUpdateFelev( QSqlRecord * buffer ) { // A max mez ő értéke nem mehet a létez ő csoportszám alá QSqlQuery query; int foglalt=0; query.exec( "SELECT count(*) FROM csoport WHERE felev_id=" + buffer->value("felev_id").tostring() + ";" ); if (query.next()) foglalt = query.value(0).toint(); if(buffer->value("max").toint() < foglalt) { buffer->setvalue("max",foglalt); QString q = "A maximális csoportszám\n nem lehet kisebb\n a már bejegyzett csoportok számánál! \n Eddig " + QString::number(foglalt) + " db csoport lett bejegyezve."; QMessageBox::information( this, "Félév Regisztráció", q ); } }... 42

43 slotbeforeupdatefelev(): kód - 2 void CsoportRegistrationForm::slotBeforeUpdateFelev( QSqlRecord * buffer ){... //A szám mez ő értéke 1-4 közé es ő szám if(buffer->value("szam").toint() < 1 buffer->value("szam").toint() > 4) { QMessageBox::information( this, "Félév Regisztráció", "A szám oszlopban csak 1,2,3,4 szerepelhet!"); buffer->setvalue("szam",4); } //A feladatok száma maximum 4 if(buffer->value("fsz").toint() > 4) { QMessageBox::information( this, "Félév Regisztráció", "A feladatok száma maximum 4 lehet!"); buffer->setvalue("fsz",4); } } 43

44 Signal / Slot kiépítése Sender: FelevDataTable Signal: beforeupdate(qsqlrecord*) Receiver: CsoportRegistrationForm Slot: slotbeforeupdatefelev(qsqlrecord* buffer) Sender: FelevDataTable Signal: beforeinsert(qsqlrecord*) Receiver: CsoportRegistrationForm Slot: slotbeforeupdatefelev(qsqlrecord* buffer) 44

45 Fordítás/Futtatás qmake./csopreg 45

46 Környezetfügg ő helyi menü A helyi menüben csak azokat a menüpontokat engedélyezzük, amelyeknek értelme van. 46

47 slotcurrentchangedfelev(): létrehozás Edit/Slots... slotcurrentchangedfelev(qsqlrecord *buffer) A slotcurrentchangedfelev() slotban állítjuk be a helyi menü aktuális állapotát. 47

48 slotcurrentchangedfelev() Function: slotcurrentchangedfelev(qsqlrecord *buffer) Return type: void Specifier: virtual Access: public Type: slot QtDesigner QtDesigner csoportregistrationform.ui <slots>... <slot>slotcurrentchangedfelev( QsQlRecord * buffer )</slot> </slots> csoportregistrationform.ui.h void slotcurrentchangedfelev(qsqlrecord* buffer) { } moc csoportregistrationform.h public slots: virtual void slotcurrentchangedfelev(qsqlrecord*) 48

49 slotcurrentchangedfelev() - Object Explorer Kód beírása 49

50 slotcurrentchangedfelev(): kód void CsoportRegistrationForm::slotCurrentChangedFelev( QSqlRecord *buffer ) { if (!buffer) return; int count=0; QSqlQuery query("select count(*) FROM felev;") ; if (query.next()) count = query.value(0).toint(); if (count==0){ FelevDataTable->sqlCursor()->setMode( QSqlCursor::Insert); return; } Ha a felev tabla üres, akkor csak insert. } int foglalt=0; query.exec( "SELECT count(*) FROM csoport WHERE felev_id=" + buffer->value("felev_id").tostring() + ";" ); if (query.next()) foglalt = query.value(0).toint(); if ( foglalt == 0 ) { FelevDataTable->sqlCursor()-> setmode( QSqlCursor::Insert QSqlCursor::Delete QSqlCursor::Update ); }else { FelevDataTable->sqlCursor()->setMode( QSqlCursor::Insert QSqlCursor::Update ); } Van már bejegyzett csoport az adott félévre? 50

51 slotcurrentchangedfelev(): signal/slot kapcsolat Sender: FelevDataTable Signal: currentchanged(qsqlrecord*) Receiver: CsoportRegistrationForm Slot: slotcurrentchangedfelev(qsqlrecord* buffer) 51

52 Fordítás/Futtattás Ebben a félévben már van bejegyzett csoport. 52

53 2. lépés 53

54 A csoport tábla elhelyezése FelevDataTable CsoportDataTable Főablak + félév tábla létrehozása Csoport tábla Gombok hozzáadása, dialógus elkészítése A feladat második lépéseként helyezzük el a csoport táblát az űrlapon, majd kapcsoljuk össze a két táblát. 54

55 FelevDataTable (QDataTable) primeinsert() beforeupdate() beforeinsert() currentchanged() CsoportDataTable (QDataTable) primeinsert() CsoportRegistrationForm (QDialog) slotprimeinsertfelev() slotbeforeupdatefelev() slotcurrentchangedfelev() newcurrentfelev() slotprimeinsertcsoport() Signálok és slotok init() newcurrentfelv(): csoport tábla fissítése slotprimeinsertcsoport(): csoport_id beállítása 55

56 A CsoportDataTable átméretezése Töröljük a korábbi elrendezést (Break Layout), és méretezzük át a félév táblát! 56

57 A FelevDataTable elhelyezése A Data Table eszköz kiválasztása után kattintson az űrlapra, majd Válaszoljon a Data Table Wizard kérdéseire. 57

58 Data Table Wizard: Choose Database and Table A projekt adatbáziskapcsolata már létezik (csopreg.pro), ezért itt már csak a jelszót kérdezi. 58

59 Data Table Wizard: Displayed Fields 59

60 Data Table Wizard: Table Properties 60

61 Data Table Wizard: SQL 61

62 Data Table Wizard: Finish 62

63 Táblák elrendezése Jelöljök ki mindkét táblát! A második tábla neve: CsoportDataTable 63

64 newcurrentfelev(): slot + connections Ha új sort új rekordot választunk a felev táblában, akkor a csoport táblát frissíteni kell. Edet/Slots.../New Function Function: newcurrentfelev(qsqlrecord *buffer) Return type: void Specifier: virtual Access: public Type: slot Edit/Connections/New Sender: FelevDataTable Signal: currentchanged(qsqlrecord*) Receiver: CsoportRegistrationForm Slot: newcurrentfelev(qsqlrecord* buffer) 64

65 newcurrentfelev(): kód void CsoportRegistrationForm::newCurrentFelev( QSqlRecord * buffer ) { CsoportDataTable->setFilter("felev_id=" +buffer->value("felev_id").tostring()) ; CsoportDataTable->refresh(); } 65

66 slotprimeinsertcsoport(): slot + connections Ha új sort új rekordot szúrunk be a csoport táblában, akkor a csoport_id és a felev_id értékeket nekünk kell kitölteni a segéd pufferben. Ezt valósítjuk meg ebben a slotban. Edet/Slots.../New Function Function: slotprimeinsertcsoport(qsqlrecord *buffer) Return type: void Specifier: virtual Access: public Type: slot Edit/Connections/New Sender: CsoportDataTable Signal: primeinsert(qsqlrecord*) Receiver: CsoportRegistrationForm Slot: slotprimeinsertcsoport(qsqlrecord* buffer) 66

67 slotprimeinsercsoport(): kód void CsoportRegistrationForm::slotPrimeInsetCsoport( QSqlRecord * buffer ){ //csoport_id lekérdezése QSqlQuery query; query.exec("update sequence Set sequence = sequence + 1 where tablename = 'csoport';"); query.exec("select sequence from sequence where tablename = 'csoport';"); if (query.next() ) { buffer->setvalue("csoport_id", query.value(0)); } //felev_id kitöltése buffer->setvalue("felev_id", FelevDataTable->currentRecord()->value("felev_id")); //Kezdetiértékek beállítása buffer->setvalue("max",30); } 67

68 Fordítás/Futtatás? Indulásnál a szűr ő még nem működik. A konstruktorban kellene szűrni. Az ui.h -s technikában az init() függvényben adjuk meg a konstruktor -beli teendőket. Itt még nem működik a szűrés. Ez lenne a jó tábla. 68

69 CsoportRegistrationForm inicializálása - init(): létrehozás 69

70 CsoportRegistrationForm inicializálása - init(): kód void CsoportRegistrationForm::init() { if (FelevDataTable && CsoportDataTable && FelevDataTable->numRows() >0) { FelevDataTable->selectRow(0); slotcurrentchangedfelev(felevdatatable->currentrecord()); CsoportDataTable->setFilter("felev_id=" + FelevDataTable->currentRecord()->value("felev_id").toString()); CsoportDataTable->refresh(); if (CsoportDataTable->numRows()>0) CsoportDataTable->selectRow(0); } } 70

71 3. rész 71

72 A csoportokat egy önálló dialógusablakban szeretnénk szerkeszteni. F ablak + félév tábla létrehozása ő Csoport tábla Gombok hozzáadása, dialógus elkészítése 72

73 A CsoportRegistrationForm ű rlap módosítása FelevDataTable CsoportDataTable EditPushButton QuitPushButton editclicked() slot 73

74 FelevDataTable (QDataTable) primeinsert() beforeupdate() beforeinsert() currentchanged() CsoportDataTable (QDataTable) primeinsert() cursorchanged() CsoportRegistrationForm (QDialog) slotprimeinsertfelev() slotbeforeupdatefelev() slotcurrentchangedfelev() newcurrentfelev() slotprimeinsertcsoport() slotcursorchangedcsoport() editclicked() accept() Signálok és slotok EditCsoportForm (QDialog) setfelevid() felevid() EditPushButton (QPushButton) clicked() QuitPushButton (QPushButton) clicked() init() newcurrentfelev(): és slotcursorchangedcsoport(): Szerkesztés gomb frissítése int _felev_id; editclicked() dialog->setsqlcursor() dialog->setfilter() dialog->setsort() dialog->setfelevid() 74

75 A Kilépés ilépés gomb eseménykezelése: signál/slot kapcsolat Sender: QuitPushButton Signal: clicked() Receiver: CsoportRegistrationForm Slot: accept() 75

76 EditCsoportForm dialógusablak 76

77 EditCsoportForm dialógus: létrehozása File/New/dialog Caption: Csoport tábla szerkesztése name: EditCsoportForm Save As: editcsoportform.ui 77

78 78

79 79

80 80

81 81

82 82

83 83

84 84

85 1 CsoportDataBrowser Az adatreprezentáló cursort mi adjuk meg!! 2 85

86 Az EditCsoportForm felépítése EditCsoportForm LabelKezdet LabelSzint ComboBoxGyakvez QLineEditNev QSpinBoxMax QSpinBoxGyakvez_id PushButtonLast CsoportDataBrowser 86

87 Új adattag beillesztése Az EditCsoportForm-ot kell kiválasztani! 1 int _felev_id;

88 A felev_id adattagot kezel ő függvények: létrehozás Function: felevid() Return type: int Specifier: non virtual Access: public Type: function Function: setffelevid(int felev_id ) Return type: void Specifier: non virtual Access: public Type: function 88

89 A _felev_id adattagot kezel ő függvények: kód int EditCsoportForm::felevId() { return _felev_id; } void EditCsoportForm::setFelevId( int felev_id ){ _felev_id=felev_id; QSqlQuery query("select kezdet,szam FROM felev WHERE felev_id=" + QString::number(_felev_id) + ";"); if (query.next()) { LabelKezdet->setText(query.value(0).toString()); LabelSzint->setText("EAF" + query.value(1).tostring()); } } 89

90 A Szerkesztés zerkesztés gomb slotja - editclicked() slot Edit/Slots Function:editClicked() Return type: void Specifier: virtual Access: public Type: slot Edit/Connections sender: EditPushButton signal: clicked() receiver: CsoportRegistrationForm slot: editclicked() 90

91 EditClicked() slot: kód void CsoportRegistrationForm::editClicked(){ EditCsoportForm *dialog = new EditCsoportForm( this, "Edit Csoport Form", TRUE ); QSqlCursor cursor( "csoport" ); dialog->csoportdatabrowser->setsqlcursor( &cursor ); dialog->csoportdatabrowser->setfilter( CsoportDataTable->filter() ); dialog->csoportdatabrowser->setsort(qsqlindex::fromstringlist( CsoportDataTable->sort(), &cursor ) ); dialog->csoportdatabrowser->refresh(); int i = CsoportDataTable->currentRow(); if ( i == -1 ) i = 0; // Always use the first row CsoportDataTable->selectRow(i); dialog->setfelevid(csoportdatatable->currentrecord()->value("felev_id").toint()); dialog->csoportdatabrowser->seek( i ); dialog->exec(); delete dialog; CsoportDataTable->refresh(); if (CsoportDataTable->numRows()==0) EditPushButton->setEnabled(FALSE); else EditPushButton->setEnabled(TRUE); } Az implementációban hivatkozunk az EditCsoportForm és a CsoportDataBrowser osztályokra, ezért ezek header fájljait be kell illeszteni a projektbe. 91

92 Header fájlok beillesztése 1 A ProjectOverview ablakban válassza ki a CsoportRegistrationForm-ot! Kattintson az egér jobb fülére, majd válassza ki a New menüpontot. 2 92

93 Fordítás/Futtatás 93

94 A Szerkesztés gomb engedélyezése/tíltása Edit/Slots Function: slotcursorchangedcsoport() Return type: void Specifier: virtual Access: public Type: slot Edit/Connections sender: CsoportDataTable signal: cursorchanged(qsql::op) receiver: CsoportRegistrationForm slot: slotcursorchangedcsoport() 94

95 A newcurrentfelev() slot módosítása void CsoportRegistrationForm::newCurrentFelev( QSqlRecord * buffer ){ CsoportDataTable->setFilter("felev_id=" +buffer->value("felev_id").tostring()) ; CsoportDataTable->refresh(); } if (CsoportDataTable->numRows()>0) CsoportDataTable->selectRow(0); if (CsoportDataTable->numRows()==0) EditPushButton->setEnabled(FALSE); else EditPushButton->setEnabled(TRUE); 95

96 Az init() módosítása void CsoportRegistrationForm::init() { if (FelevDataTable && CsoportDataTable && FelevDataTable->numRows() >0) { FelevDataTable->selectRow(0); slotcurrentchangedfelev(felevdatatable->currentrecord()); CsoportDataTable->setFilter("felev_id=" + FelevDataTable->currentRecord()->value("felev_id").toString()); CsoportDataTable->refresh(); if (CsoportDataTable->numRows()>0) CsoportDataTable->selectRow(0); if (CsoportDataTable->numRows()==0) EditPushButton->setEnabled(FALSE); else EditPushButton->setEnabled(TRUE); } } 96

97 Az EditCsoportForm osztály további függvényei és slotjai Önálló feldolgozásra 97

98 Signálok és slotok EditCsoportForm (QDialog) slotfelevid() slotprimeinsert() slotprimeupdate() slotgyakvezchanged() CsoportDataBrowser (QDataBrowser) primeinsert() primeupdate() init() LabelKezdet (QLabel) QLineEditNev (QLineEdit) QSpinBoxMax (QSpinBox) init() QSpinBoxGyakvez_id (QSpinBox) activated() felevid() int _felev_id; LabelSzint (QLabel) PushButtonFirst (QPushButtonl) setfelevid() LabelSzint->setText() LabelKezdet->setText() ComboBoxGyakvez (QComboBox) PushButtonClose (QPushButton) 98

99 EditCsoportForm:: init() void EditCsoportForm::init() { QSqlQuery query ("SELECT nev FROM gyakvez ORDER BY nev;"); while (query.next()) ComboBoxGyakvez->insertItem(query.value(0).toString()); } A gyakorlatvezet nevét ő tartalmazó ComboBox kitöltése 99

100 EditCsoportForm:: slotprimeinsert() Edit/Slots/New Function/implementáció begépelése void EditCsoportForm::slotPrimeInsert( QSqlRecord * buffer ){ QSqlQuery query; query.exec("update sequence Set sequence = sequence + 1 where tablename = 'csoport';"); query.exec("select sequence from sequence where tablename = 'csoport';"); if (query.next() ) { buffer->setvalue("csoport_id", query.value(0)); } buffer->setvalue("felev_id", QString::number(_felev_id)); } Edit/Connections sender: CsoportDataBrowser signal: primeinsert(qsqlrecord*) receiver: EditCsoportForm slot: slotprimeinsert(qsqlrecord*) 100

101 EditCsoportForm:: slotprimeupdate() - 1 Edit/Slots/New Function/implementáció begépelése void EditCsoportForm::slotPrimeUpdate( QSqlRecord * buffer ){ if (!buffer) return; //Ki a gyakorlatvezetö QString q="select nev FROM gyakvez WHERE gyakvez_id='" + buffer->value("gyakvez_id").tostring() + "';"; QSqlQuery query (q); QString gyakvez = ""; if (query.next()) gyakvez=query.value(0).tostring(); //Állítsuk be a gyakvez ComboBox értékét for (int i=0; i < ComboBoxGyakvez->count(); i++) { if (ComboBoxGyakvez->text(i)==gyakvez) { ComboBoxGyakvez->setCurrentItem(i); break; } }... } 101

102 EditCsoportForm:: slotprimeupdate() - 2 Edit/Slots/New Function/implementáció begépelése void EditCsoportForm::slotPrimeUpdate( QSqlRecord * buffer ){... //Állítsuk be a max Spin box minimális értékét int foglalt=0; query.exec( "SELECT count(*) FROM tag WHERE csoport_id=" + buffer->value("csoport_id").tostring() + ";" ); if (query.next()) foglalt = query.value(0).toint(); QSpinBoxMax->setMinValue(foglalt); } Edit/Connections sender: CsoportDataBrowser signal: primeupdate(qsqlrecord*) receiver: EditCsoportForm slot: slotprimeupdate(qsqlrecord*) 102

103 EditCsoportForm: Header fájlok beillesztése A slotprimeupdate() slot deklarációs és definíciós részében is hivatkozunk a QSqlRecord osztályra. 1 editcsoportform.h class QSqlRecord;... public slots: void slotprimeupdate(qsqlrecord* buffer)... editcsoportform.cpp 2 3 #include <qsqlrecord.h>.. void slotprimeupdate(qsqlrecord* buffer) { } 103

104 EditCsoportForm:: slotgyakvezchanged() Edit/Slots/New Function/implementáció begépelése void EditCsoportForm::slotGyakvezChanged( const QString & g ){ //Mi a gyakorlatvezetö id-je? QString q="select gyakvez_id FROM gyakvez WHERE nev='" + g + "';"; QSqlQuery query (q); if (query.next()) QSpinBoxGyakvez_id->setValue(query.value(0).toInt()); CsoportDataBrowser->update(); } Edit/Connections sender: ComboBoxGyakvez signal: activated(const QString &) receiver: EditCsoportForm slot: slotgyakvezchanged(const QString &) Ha új gyakorlatvezetőt választottunk, akkor a névhez tartozó gyakvez_id-t kell megjeleníteni a vezérlőn. 104

105 Vége 105

106 FelevDataTable (QDataTable) primeinsert() beforeupdate() currentchanged() beforeinsert() CsoportDataTable (QDataTable) primeinsert() cursorchanged() CsoportRegistrationForm (QDialog) slotprimeinsertfelev() slotbeforeupdatefelev() slotcurrentchangedfelev() newcurrentfelev() slotprimeinsertcsoport() slotcursorchangedcsoport() editclicked() accept() A projekt osztálydiagramja -1 EditCsoportForm (QDialog) slotfelevid() slotprimeinsert() slotprimeupdate() slotgyakvezchanged() init() EditPushButton (QPushButton) clicked() init() felevid() int _felev_id; QuitPushButton (QPushButton) clicked() 106

107 CsoportRegistrationForm (QDialog) CsoportDataBrowser (QDataBrowser) QLineEditNev (QLineEdit) primeinsert() primeupdate() EditCsoportForm (QDialog) init() QSpinBoxMax (QSpinBox) slotfelevid() slotprimeinsert() slotprimeupdate() slotgyakvezchanged() LabelKezdet (QLabel) QSpinBoxGyakvez_id (QSpinBox) init() LabelSzint (QLabel) PushButtonFirst (QPushButtonl) felevid() int _felev_id; A projekt osztálydiagramja -2 ComboBoxGyakvez (QComboBox) PushButtonClose (QPushButton) 107

108 FelevDataTable (QDataTable) primeinsert() beforeupdate() beforeinsert() currentchanged() CsoportDataTable (QDataTable) primeinsert() cursorchanged() CsoportRegistrationForm (QDialog) slotprimeinsertfelev() slotbeforeupdatefelev() slotcurrentchangedfelev() newcurrentfelev() slotprimeinsertcsoport() slotcursorchangedcsoport() editclicked() accept() Signálok és slotok - 1 EditCsoportForm (QDialog) setfelevid() slotprimeinsert() slotprimeupdate() slotgyakvezchanged() init() EditPushButton (QPushButton) clicked() init() felevid() int _felev_id; QuitPushButton (QPushButton) clicked() editclicked() dialog->setsqlcursor() dialog->setfilter() dialog->setsort() dialog->setfelevid() 108

109 Signálok és slotok - 2 CsoportDataBrowser (QDataBrowser) QLineEditNev (QLineEdit) EditCsoportForm (QDialog) setfelevid() slotprimeinsert() slotprimeupdate() slotgyakvezchanged() primeinsert() primeupdate() init() LabelKezdet (QLabel) QSpinBoxMax (QSpinBox) QSpinBoxGyakvez_id (QSpinBox) init() activated() felevid() int _felev_id; LabelSzint (QLabel) PushButtonFirst (QPushButtonl) setfelevid() LabelSzint->setText() LabelKezdet->setText() ComboBoxGyakvez (QComboBox) PushButtonClose (QPushButton) 109

Elemi alkalmazások fejlesztése IV.

Elemi alkalmazások fejlesztése IV. Elemi alkalmazások fejlesztése IV. C++/Qt adatbáziskezelő alkalmazás készítése Kdevelop környezetben I. Készítette: Szabóné Nacsa Rozália 1 MySql elindítása [nacsa@localhost nacsa]$ su Password:jelszó

Részletesebben

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

MySql elindítása. Elemi alkalmazások fejlesztése IV. Feladat. Az alkalmazás adatbázisa Elemi alkalmazások fejlesztése IV. C++/Qt adatbáziskezel ő alkalmazás készítése Kdevelop környezetben I. MySql elindítása [nacsa@localhost nacsa]$ su Password:jelszó [root@localhost nacsa]# /usr/bin/safe_mysqld

Részletesebben

Elemi alkalmazások fejlesztése III. A Qt assistant elindítása. Ajánlott ir odalom. A Qt assistant nyitó ablaka

Elemi alkalmazások fejlesztése III. A Qt assistant elindítása. Ajánlott ir odalom. A Qt assistant nyitó ablaka Elemi alkalmazások fejlesztése III Ajánlott ir odalom Egy ablakos alkalmazás készítése I. C++ / Qt felhasználásával Qt dokumentáció online: www.trolltech.com lokális változat: Kdevelop help vagy /usr/share/doc...

Részletesebben

Elemi alkalmazások fejlesztése III

Elemi alkalmazások fejlesztése III Elemi alkalmazások fejlesztése III Egy ablakos alkalmazás készítése I. C++ / Qt felhasználásával készítette: Szabóné Nacsa Rozália 1 Ajánlott irodalom Qt dokumentáció online: www.trolltech.com lokális

Részletesebben

QLabel *label = new Qlabel("Hello Qt!",0);

QLabel *label = new Qlabel(Hello Qt!,0); #include #include int main(int argc,char **argv) QApplication app(argc,argv); QLabel *label = new Qlabel("Hello Qt!",0); app.setmainwidget(label); label->show(); return app.exec();

Részletesebben

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

Egységes és objektumközpontú adatbázis-kezelés (2. rész) Egységes és objektumközpontú adatbázis-kezelés (2. rész) A folytatásában a bemutatjuk, hogyan kezelhetünk Qt rendszer alatt SQL sormutatót, és készíthetünk grafikus felületet programoknak a Qt Designer

Részletesebben

Elemi alkalmazások fejlesztése IV. Adatbáziskezelő alkalmazás készítése C++/Qt ben I.

Elemi alkalmazások fejlesztése IV. Adatbáziskezelő alkalmazás készítése C++/Qt ben I. Tartalomjegyzék Adatbáziskezelő alkalmazás készítése C++/Qt ben I...3 A MySQL adatbáziskezelő használatba vétele...3 Az alkalmazás adatbázisa...4 A Qt/Sql modul...5 Az adatbázis és az alkalmazás összekapcsolása...5

Részletesebben

Elemi alkalmazások fejlesztése III.

Elemi alkalmazások fejlesztése III. Elemi alkalmazások fejlesztése III. Grafikus felületű alkamazások készítése Bevezetés I. Készítette: Szabóné Nacsa Rozália nacsa@inf.elte.hu people.inf.elte.hu/nacsa/qt4/eaf3/ Qt 4 2009 1 www.trolltech.com

Részletesebben

Elemi alkalmazások fejlesztése III.

Elemi alkalmazások fejlesztése III. Elemi alkalmazások fejlesztése III. Bevezetés Készítette: Szabóné Nacsa Rozália nacsa@inf.elte.hu people.inf.elte.hu/nacsa/qt4/eaf3/ Qt 4 2007 1 A Qt assistant nyitó ablaka www.trolltech.com 2 Alkalmazás

Részletesebben

Elemi alkalmazások fejlesztése III

Elemi alkalmazások fejlesztése III Elemi alkalmazások fejlesztése III Egyablakos alkalmazás készítése I. Qt/X11 felhasználásával Kdevelop környezetben készítette: Steingart Ferenc Szabóné Nacsa Rozália Ajánlott irodalom Qt dokumentáció

Részletesebben

Elemi alkalmazások fejlesztése III.

Elemi alkalmazások fejlesztése III. Elemi alkalmazások fejlesztése III. Egy ablakos alkalmazás készítése II. C++ / Qt / KDevelop felhasználásával készítette: Szabóné Nacsa Rozália lektorálta: Párniczky Krisztina 1 Fájlkezelés Olvasás 2 A

Részletesebben

Elemi alkalmazások fejlesztése III.

Elemi alkalmazások fejlesztése III. Elemi alkalmazások fejlesztése III. MDI alkalmazás II. (Számla) Készítette: Szabóné Nacsa Rozália nacsa@inf.elte.hu people.inf.elte.hu/nacsa/qt4/eaf3/ Qt 4 2007 1 Számla felépítése fejléc tábla 2 Az alkalmazás

Részletesebben

Alkalmazások fejlesztése III. Qt 4 /C++ alapú grafikus alkalmazás Bevezetés I.

Alkalmazások fejlesztése III. Qt 4 /C++ alapú grafikus alkalmazás Bevezetés I. Tartalomjegyzék Alkalmazás készítés Qt osztályokkal...2 A qmake eszköz...2 Hello Qt (hello)...2 Objektumok közötti kommunikáció (quit)...3 Fordítás/futtatás...4 Grafikus felület létrehozása, vezérlők szinkronizálása

Részletesebben

Adatbázis-kezelés ODBC driverrel

Adatbázis-kezelés ODBC driverrel ADATBÁZIS-KEZELÉS ODBC DRIVERREL... 1 ODBC: OPEN DATABASE CONNECTIVITY (NYÍLT ADATBÁZIS KAPCSOLÁS)... 1 AZ ODBC FELÉPÍTÉSE... 2 ADATBÁZIS REGISZTRÁCIÓ... 2 PROJEKT LÉTREHOZÁSA... 3 A GENERÁLT PROJEKT FELÉPÍTÉSE...

Részletesebben

Elemi alkalmazások fejlesztése IV. Adatbázis-kezelő GUI alkalmazás készítése 3. Összetett tábla karbantartása

Elemi alkalmazások fejlesztése IV. Adatbázis-kezelő GUI alkalmazás készítése 3. Összetett tábla karbantartása Elemi alkalmazások fejlesztése IV. Adatbázis-kezelő GUI alkalmazás készítése 3. Összetett tábla karbantartása Készítette: Szabóné Nacsa Rozália nacsa@inf.elte.hu people.inf.elte.hu/nacsa/eaf4/ Qt 4 2007

Részletesebben

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

Adatbázis-kezelés ActiveX vezérl kkel 2.rész Adatbázis-kezelés ActiveX vezérl kkel 2.rész Készítette: Szabóné Nacsa Rozália 2004. november Feladat Figyelmeztetés, Figyelmeztetés, ha ha betelt betelt a a csoport. csoport. Csoport Csoport kiválasztása

Részletesebben

Budapest, 2007. március. ELTE Informatikai Kar

Budapest, 2007. március. ELTE Informatikai Kar Tartalomjegyzék Alkalmazás készítés Qt osztályokkal...2 A qmake eszköz...2 Hello Qt (hello)...2 A projekt elkészítésének lépései...3 Objektumok közötti kommunikáció (quit)...3 A projekt elkészítésének

Részletesebben

Elemi alkalmazások fejlesztése III.

Elemi alkalmazások fejlesztése III. Elemi alkalmazások fejlesztése III. Memóriajáték 1. Készítette: Szabóné Nacsa Rozália nacsa@inf.elte.hu people.inf.elte.hu/nacsa/qt4/eaf3/ Qt 4 2007 1 memorygame Játék közben 2 memorygame Kártyák kiválasztása

Részletesebben

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

Adabáziselérés ODBC-n keresztül utasításokkal C#-ban 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\

Részletesebben

Adatbázis-kezelés ODBC-vel

Adatbázis-kezelés ODBC-vel 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

Részletesebben

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

Access adatbázis elérése OLE DB-n keresztül Access adatbázis elérése OLE DB-n keresztül Készítsünk egy grafikus felülető alkalmazást, ami lehetıvé teszi egy Access adatbázisban tárolt hallgatói adatok (EHA, Név, e-mail cím) lekérdezését (összes

Részletesebben

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

Elemi alkalmazások fejlesztése IV. Adatbázis-kezelés ActiveX vezérlıkkel - 1 ADATBÁZIS-KEZELÉS ACTIVEX VEZÉRLİK ALKALMAZÁSÁVAL I.... 1 ACTIVEX... 1 ACTIVEX CONTROL... 1 SAJÁT ACTIVEX VEZÉRLİ LÉTREHOZÁSA... 1 circctrl.cpp... 2 Háttérszín tulajdonság hozzárendelése a vezérlıhöz...

Részletesebben

Feladat. Tervezés és implementálás

Feladat. Tervezés és implementálás Tartalomjegyzék FELADAT...2 Elvárások...2 TERVEZÉS ÉS IMPLEMENTÁLÁS...2 Megjelenési terv...2 Grafikus felület készítése...3 Modulszerkezet...3 Osztály diagram...3 MillMain form...4 Vezérlő k elrendezése...4

Részletesebben

Tervezőeszközök, fejlesztőeszközök használata Qt alapú alkalmazásoknál. Saját vezérlő használata tervezőben (worldclocks)

Tervezőeszközök, fejlesztőeszközök használata Qt alapú alkalmazásoknál. Saját vezérlő használata tervezőben (worldclocks) Tartalomjegyzék Tervezőeszközök, fejlesztőeszközök használata Qt alapú alkalmazásoknál...1 Saját vezérlő használata tervezőben (worldclocks)...1 DigitalClock osztály (módosítás)...2 MyForm osztály...3

Részletesebben

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 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 API hívásokkal hívások Adatbázis-kezelés -vel Készítette: Szabóné Nacsa Rozália 2004. november API 2 API 2 hívások Adatbázis-kezelés parancsokkal Adatbázis-kezelés -vel eljárások 1 parancsok

Részletesebben

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

Hozzunk létre két rekordot a táblában, majd véglegesítsünk (commit): Oracle adatbázis elérése A gyakorlat célja az, hogy a hallgató tapasztalatot szerezzen egy szerver oldali adatbázis kezelő rendszer elérésében, gyakorolja a vizuális eszközök és a kapcsolat nélküli (Disconnected

Részletesebben

Eseményvezérelt alkalmazások

Eseményvezérelt alkalmazások Szabóné Nacsa Rozália nacsa@inf.elte.hu Eseményvezérelt alkalmazások A Windows alkalmazások eseményvezérelt alkalmazások Esemény: egér kattintás billenty leütés stb. Üzenetkezelés Operációs rendszer kódja

Részletesebben

Könyvtári nyilvántartás

Könyvtári nyilvántartás Könyvtári nyilvántartás Feladat: Készítette: Az alkalmazás lehetővé teszi egy könyvtári könyv kikölcsönzésének és visszahozásának, az könyvtártagok tagdíj-befizetéseinek és az olvasó terembe történő be-

Részletesebben

Elemi alkalmazások fejlesztése I.

Elemi alkalmazások fejlesztése I. Steingart Ferenc el adása alapján készítette: Szabóné Nacsa Rozália Integrált fejleszt környezet Linux MS Win* www.kdevelop.org www.bloodshed.net Bevezetés 1 A kdevelop f ablaka Editor és böngész Projektszerkezet

Részletesebben

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

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT október október 26. Adatbázisok 1 / 17 Adatbázisok 8. gyakorlat SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT 2015. október 26. 2015. október 26. Adatbázisok 1 / 17 SQL nyelv Structured Query Language Struktúrált lekérdez

Részletesebben

Elemi alkalmazások fejlesztése III.

Elemi alkalmazások fejlesztése III. Elemi alkalmazások fejlesztése III. Bevezetés Készítette: Szabóné Nacsa Rozália nacsa@inf.elte.hu people.inf.elte.hu/nacsa/qt4/eaf3/ Qt 4 2007 EAF3 Qt4 Bevezetés (mod01) 1 A Qt assistant nyitó ablaka www.trolltech.com

Részletesebben

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

Készítette: Szabóné Nacsa Rozália Készítette: Szabóné Nacsa Rozália nacsa@inf.elte.hu 1 Structured Query Language (Struktúrált lekérdező nyelv) Relációs adatbázisok kezelésére kifejlesztett szabvány 2 DIAKOK dkód vnév knév 1001 Kiss János

Részletesebben

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

Elemi alkalmazások fejlesztése IV. Adatbázis-kezelés ActiveX vezérl ı kkel - 2 Elemi alkalmazások fejlesztése IV. Adatbázis-kezelés ActiveX vezérl ı kkel - 2 ADATBÁZIS-KEZELÉS ACTIVEX VEZÉRLİ K ALKALMAZÁSÁVAL II... 2 PROJEKT LÉTREHOZÁSA... 3 ACTIVEX VEZÉRLİ K BEILLESZTÉSE... 3 A

Részletesebben

Elemi adatbázis kezelés

Elemi adatbázis kezelés Elemi adatbázis kezelés Adatbázisok használata Qt alatt A Qt-ben a QtSql module támogatja az SQL elérésű adatbázisok platform- és adatbázis független használatát. Az adatbázis kapcsolat kiépítése során

Részletesebben

Alkalmazások fejlesztése III. Qt 4 /C++ alapú MDI alkalmazás: Számlakészítő program 2/3

Alkalmazások fejlesztése III. Qt 4 /C++ alapú MDI alkalmazás: Számlakészítő program 2/3 Tartalomjegyzék Feladat...2 Az alkalmazás osztálydiagramja...2 Modell-nézet (model-view) tervezési minta (bevezetés)...3 Számlatételek kezelése, karbantartása ( táblázat kezelés )...4 A táblázatkezelő

Részletesebben

Grafikus Qt programok írása segédeszközök nélkül

Grafikus Qt programok írása segédeszközök nélkül Grafikus Qt programok írása segédeszközök nélkül Grafikus felületű Qt programokat ahogy láttuk, készíthetünk egy egyszerű szövegszerkesztővel is, bár a Qt jó támogatást ad a grafikus felület grafikus tervezésére

Részletesebben

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

Johanyák Zsolt Csaba: Ugráló gomb oktatási segédlet    Copyright 2008 Johanyák Zsolt Csaba Ugráló gomb Készítsünk egy egyszerű játékprogramot, ami egy mozgó nyomógombot tartalmaz. A nyomógomb beállított ideig marad egy helyben, majd az ablakon számára elhatárolt terület (panel) egy véletlenszerűen

Részletesebben

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

SDI ALKALMAZÁS I. Workspace / ResourceView / Toolbar / IDR_MAINFRAME. Workspace / ResourceView / Menu / IDR_MAINFRAME SDI ALKALMAZÁS I. Feladat: Készítsünk egy olyan alkalmazást, amely az év végi adózás céljából rögzíti egyetlen évközi bevételnek az adatait: bruttó jövedelem adóel ı leg nettó bevétel jövedelem forrása

Részletesebben

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

Táblakezelés: Open SQL Internal table. Tarcsi Ádám: Az SAP programozása 1. Táblakezelés: Open SQL Internal table Tarcsi Ádám: Az SAP programozása 1. OPEN SQL Tarcsi Ádám, ELTE SAP Excellence Center: SAP programozás oktatóanyag 2 Open SQL Az Open SQL kulcsszavai: SELECT INSERT

Részletesebben

Eseményvezérelt alkalmazások fejlesztése I 7. előadás. Adatbázis-kezelés elemi eszközökkel. Giachetta Roberto

Eseményvezérelt alkalmazások fejlesztése I 7. előadás. Adatbázis-kezelés elemi eszközökkel. Giachetta Roberto Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése I 7. előadás Adatbázis-kezelés elemi eszközökkel Giachetta Roberto A jegyzet az ELTE Informatikai Karának 2014. évi

Részletesebben

Adatok speciális megjelenítése

Adatok speciális megjelenítése Adatok speciális megjelenítése Speciális adatmegjelenítés Az adatok csoportos megjelenítéshez a nézet számos osztályt (QListView, QTableView, QTreeView) biztosít, amelyekből származtatással továbbiakat

Részletesebben

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

C#---Access adatbáziskezelési gyakorlat C#---Access adatbáziskezelési gyakorlat 1. Feladat: adatbázis kezelő alkalmazás készítése C# környezetben, Access adatbázist használva. 2. Minta adatbázis létrehozása ACCESS-ben 3. A Projekt létrehozása

Részletesebben

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

Adatbázis-kezelés ActiveX vezérl kkel Adatbázis-kezelés ActiveX vezérl kkel Készítette: Szabóné Nacsa Rozália 2004. november Saját vezérl Feladat: Készítsünk kört kört rajzoló rajzológrafikus vezérl vezérl t. t. Figyelem!! Most Most az az

Részletesebben

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

Adatbázis kezelés Delphiben. SQL lekérdezések Adatbázis kezelés Delphiben. SQL lekérdezések Structured Query Language adatbázisok kezelésére szolgáló lekérdező nyelv Szabályok: Utasítások tetszés szerint tördelhetők Utasítások végét pontosvessző zárja

Részletesebben

3D-s számítógépes geometria és alakzatrekonstrukció

3D-s számítógépes geometria és alakzatrekonstrukció 3D-s számítógépes geometria és alakzatrekonstrukció 3a. Tesztkörnyezet I http://cg.iit.bme.hu/portal/node/312 https://portal.vik.bme.hu/kepzes/targyak/viiima01 Dr. Várady Tamás, Salvi Péter BME, Villamosmérnöki

Részletesebben

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

Kilencedik témakör: Lazarus-Firebird. Készítette: Dr. Kotsis Domokos PASzSz Kilencedik témakör: Lazarus-Firebird Készítette: Dr. Kotsis Domokos Az SQLdb fülön IBConnection Kapcsolat A Data Access fülön Az SQLdb fülön... Select 1. Az SQLQuery lezárása. (Active := false,

Részletesebben

Adatbázisok webalkalmazásokban

Adatbázisok webalkalmazásokban Sapientia - EMTE, Pannon Forrás,,Egységes erdélyi felnőttképzés a Kárpát-medencei hálózatban 2010 A JDBC API A Data Access Object tervezési minta Adatforrás - DataSource JDBC architektúra A JDBC API java.sql

Részletesebben

Eseményvezérelt alkalmazások fejlesztése I 8. előadás. Adatbázis-kezelés modell/nézet architektúrában

Eseményvezérelt alkalmazások fejlesztése I 8. előadás. Adatbázis-kezelés modell/nézet architektúrában Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése I 8. előadás Adatbázis-kezelés modell/nézet architektúrában 2013.04.17. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto

Részletesebben

Eseményvezérelt alkalmazások fejlesztése I 11. előadás. Adatkezelés speciális eszközökkel. Giachetta Roberto

Eseményvezérelt alkalmazások fejlesztése I 11. előadás. Adatkezelés speciális eszközökkel. Giachetta Roberto Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése I 11. előadás Adatkezelés speciális eszközökkel Giachetta Roberto http://people.inf.elte.hu/groberto Az adatkezelés

Részletesebben

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

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 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 Adatszótár: metaadatokat tartalmazó, csak olvasható táblák táblanév-prefixek:

Részletesebben

Thermo1 Graph. Felhasználói segédlet

Thermo1 Graph. Felhasználói segédlet Thermo1 Graph Felhasználói segédlet A Thermo Graph program a GIPEN Thermo eszközök Windows operációs rendszeren működő grafikus monitorozó programja. A program a telepítést követően azonnal használható.

Részletesebben

Az SQL*Plus használata

Az SQL*Plus használata Az SQL*Plus használata Célkitűzés Bejelentkezés az SQL*Plus-ba SQL utasítások szerkesztése Az eredmény formázása SQL*Plus utasításokkal Szkriptfájlok használata Az SQL és az SQL*Plus kapcsolata SQL*Plus

Részletesebben

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

Adatbázis Rendszerek II. 5. PLSQL Csomagok 16/1B IT MAN Adatbázis Rendszerek II. 5. PLSQL Csomagok 16/1B IT MAN B IT v: 2016.03.03 MAN Csomagok A DBMS csomagok a PL/SQL alkalmazások fejlesztését segítik, bennük tároljuk a létrehozott programok kódjait. A specifikációs

Részletesebben

Entity Framework + LINQ oktatási segédlet

Entity Framework + LINQ oktatási segédlet Entity Framework + LINQ oktatási segédlet Török János Zsolt 2.0. változat Célok: - Ismerkedés az Entity Framework el - Adatbázis lekérdezések létrehozása LINQ segítségével Feladat: Megrendeléseket kezelő

Részletesebben

Elemi alkalmazások fejlesztése IV.

Elemi alkalmazások fejlesztése IV. Structured Query Language (Struktúrált lekérdez ı nyelv) Relációs adatbázisok kezelésére kifejlesztett szabvány né Nacsa Rozália nacsa@inf.elte.hu Fejlesztı : MySQLAB weboldal: www.mysql.com MySQL installálása.

Részletesebben

Eseményvezérelt alkalmazások fejlesztése I 8. előadás. Adatbázis-kezelés elemi eszközökkel. A MySQL adatbázis-kezelő

Eseményvezérelt alkalmazások fejlesztése I 8. előadás. Adatbázis-kezelés elemi eszközökkel. A MySQL adatbázis-kezelő Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése I 8. előadás Adatbázis-kezelés elemi eszközökkel 2016 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto

Részletesebben

Szerző. Varga Péter ETR azonosító: VAPQAAI.ELTE Email cím: Név: vp.05@hotmail.com Kurzuskód:

Szerző. Varga Péter ETR azonosító: VAPQAAI.ELTE Email cím: Név: vp.05@hotmail.com Kurzuskód: Szerző Név: Varga Péter ETR azonosító: VAPQAAI.ELTE Email cím: vp.05@hotmail.com Kurzuskód: IP-08PAEG/27 Gyakorlatvezető neve: Kőhegyi János Feladatsorszám: 20 1 Tartalom Szerző... 1 Felhasználói dokumentáció...

Részletesebben

A jobboldalon a pnlright egy Stacked Widget Állítsuk be az első lapot és nevezzük el pnldraw-ra:

A jobboldalon a pnlright egy Stacked Widget Állítsuk be az első lapot és nevezzük el pnldraw-ra: A Rajzolás lap A rajzolás lap elemi rajzolási lehetőségek bemutatására szolgál. A rajzolás a jobboldali pnlright widget egyik lapjára rakott widgetre történik. A pnlright egy több lapot tartalmazó widget

Részletesebben

Elemi alkalmazások fejlesztése III

Elemi alkalmazások fejlesztése III Elemi alkalmazások fejlesztése III Qt SDI alkalmazás készítése I Kdevelop környezetben Készítette: Szabóné Nacsa Rozália Steingart Ferenc 1 Feladat Készítsünk egy számlakezel ő ablakos alkalmazást! Számlafejléc

Részletesebben

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

Adatbázis Rendszerek II. 2. Gyakorló környezet Adatbázis Rendszerek II. 2. Gyakorló környezet 37/1 B IT v: 2017.02.11 MAN Gyakorló környezet Géptermek 37/2 Jelszó váltás 1 2 3 4 37/3 Gyakorló környezet II. apex.oracle.com/en/ 37/4 A regisztrációs folyamat

Részletesebben

3. Osztályok II. Programozás II

3. Osztályok II. Programozás II 3. Osztályok II. Programozás II Bevezető feladat Írj egy Nevsor osztályt, amely legfeljebb adott mennyiségű nevet képes eltárolni. A maximálisan tárolható nevek számát a konstruktorban adjuk meg. Az osztályt

Részletesebben

Programozás II gyakorlat. 4. Öröklődés

Programozás II gyakorlat. 4. Öröklődés Programozás II gyakorlat 4. Öröklődés Feladat Egy játékfejlesztő cég olyan programot fejleszt, amely nyilvántartja az alkalmazottai adatait. Tároljuk minden személy: Nevét (legfeljebb 50 karakter) Születési

Részletesebben

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

ADATBÁZISKEZELÉS KÖZVETLEN ELÉRÉSSEL II...2 ADATBÁZISKEZELÉS KÖZVETLEN ELÉRÉSSEL II...2 2. FELADAT: RENDEZETT LISTA...2 KÉSZITSÜK EL A FILLSORTEDDATA(INT SCOLUMN) SAJÁT METÓDUST!...2 void CBankView::FillSortedData(int scolumn)... 3 KÉSZITSÜK EL

Részletesebben

Eseménykezelés. Aszinkron kommunikáció

Eseménykezelés. Aszinkron kommunikáció Eseménykezelés Aszinkron kommunikáció Feladat Készítsünk egy stoppert, amely másodpercenként jelzi a múló időt. Ez a folyamat egy adott jelzés hatására induljon el; ugyanezen jelzés ismétléseinek hatására

Részletesebben

SQLTools in 5 steps ver. 0.1

SQLTools in 5 steps ver. 0.1 SQLTools in 5 steps ver. 0.1 Drzewiecki Tomasz - Magyar fordítás és átdolgozás: Gáti Tamás 2006. július 30. Tartalomjegyzék 1 1. Kapcsolódás Kezdetnek indítsd el a programot. Megjelenik az adatbázis kapcsolódási

Részletesebben

Programozási technológia

Programozási technológia Programozási technológia Swing GUI készítése NetBeans IDE segítségével Dr. Szendrei Rudolf ELTE Informatikai Kar 2018. Bevezető Eddig a grafikus felhasználói felületet kódból hoztuk létre kézzel. A mi

Részletesebben

Eseményvezérelt alkalmazások fejlesztése I 10. előadás. Adatbázis-kezelés modell/nézet architektúrában. Giachetta Roberto

Eseményvezérelt alkalmazások fejlesztése I 10. előadás. Adatbázis-kezelés modell/nézet architektúrában. Giachetta Roberto Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése I 10. előadás Adatbázis-kezelés modell/nézet architektúrában Giachetta Roberto http://people.inf.elte.hu/groberto

Részletesebben

Egészítsük ki a Drupal-t. Drupal modul fejlesztés

Egészítsük ki a Drupal-t. Drupal modul fejlesztés Egészítsük ki a Drupal-t Drupal modul fejlesztés Drupal 6.0 2008. február 13. Miért írjunk Drupal modult? Nincs az igényeinknek megfelelő modul Valamilyen közösségi igény kielégítése Valami nem úgy működik

Részletesebben

Elemi alkalmazások fejlesztése III

Elemi alkalmazások fejlesztése III Elemi alkalmazások fejlesztése III C++/ Qt alapú SDI alkalmazás készítése I. Készítette: Szabóné Nacsa Rozália Steingart Ferenc 1 Feladat Készítsünk egy számlakezel ő ablakos alkalmazást! Számlafejléc

Részletesebben

C#, OOP. Osztályok tervezése C#-ban

C#, OOP. Osztályok tervezése C#-ban C#, OOP Osztályok tervezése C#-ban OOP Létrehozás (creating) Megszüntetés (destroying) Túlterhelés (overlading) Felsorolás típus (enumerated types) 2 Hajó osztály Sailboat class using System; class Sailboat

Részletesebben

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

WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK Horváth Győző Egyetemi adjunktus 1117 Budapest, Pázmány Péter sétány 1/C, 2.420 Tel: (1) 372-2500/1816 2 Ismétlés Ismétlés 3 Fájl/Adatbázis 3 4 Szerver 2 CGI

Részletesebben

Alkalmazások fejlesztése III. Qt 4 /C++ alapú MDI alkalmazás: Számlakészítő program 1/3

Alkalmazások fejlesztése III. Qt 4 /C++ alapú MDI alkalmazás: Számlakészítő program 1/3 Tartalomjegyzék Feladat...2 A számla elemei...2 A dokumentumot tároló fájl felépítése...3 A számlakészítő program osztálydiagramja...4 Field osztály...4 field.h...4 field.cpp...5 Fields osztály...6 fields.h...6

Részletesebben

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

Excel ODBC-ADO API. Tevékenységpontok: - DBMS telepítés. - ODBC driver telepítése. - DSN létrehozatala. -Excel-ben ADO bevonása DBMS spektrum Excel ODBC-ADO API Tevékenységpontok: - DBMS telepítés - ODBC driver telepítése - DSN létrehozatala -Excel-ben ADO bevonása - ADOConnection objektum létrehozatala - Open: kapcsolat felvétel

Részletesebben

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

Webszolgáltatás és XML alapú adatbázis. 1. Az adatbázis megtervezése Webszolgáltatás és XML alapú adatbázis A segédlet célja az, hogy a teljesség igénye nélkül egy egyszerű példán keresztül bemutassa, hogy hogyan készíthetünk egy olyan kétrészes (kétrétegű) alkalmazást,

Részletesebben

Mechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe

Mechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe Mechatronika és mikroszámítógépek 2017/2018 I. félév Bevezetés a C nyelvbe A C programozási nyelv A C egy általános célú programozási nyelv, melyet Dennis Ritchie fejlesztett ki Ken Thompson segítségével

Részletesebben

Swing GUI készítése NetBeans IDE segítségével

Swing GUI készítése NetBeans IDE segítségével Programozási Swing e NetBeans IDE segítségével Informatikai Kar Eötvös Loránd Tudományegyetem 1 Tartalom 1 2 2 Eddig a grafikus felhasználói felületet kódból hoztuk létre kézzel. A mi feladatunk volt az

Részletesebben

LBRA6i integrált rendszer

LBRA6i integrált rendszer LBRA6i integrált rendszer LIBRA 6i logolás és a log megtekintése Készítette: Libra Szoftver Zrt. Létrehozás dátuma: 2005.12.15. Utolsó módosítás: 2014.10.30. Referencia szám: LIBRA6i_UZEM_V_1.5 Verzió:

Részletesebben

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

WCF, Entity Framework, ASP.NET, WPF 1. WCF service-t (adatbázissal Entity Framework) 2. ASP.NET kliens 3. WPF kliens WCF, Entity Framework, ASP.NET, WPF 1. WCF service-t (adatbázissal Entity Framework) 2. ASP.NET kliens 3. WPF kliens Hozzunk létre egy ASP.NET Empty Web Site projektet! A projekt neve legyen WCFAPP1. Ez

Részletesebben

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

Programozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010 Programozási technikák Pál László Sapientia EMTE, Csíkszereda, 2009/2010 12. ELŐADÁS Adatbázis-kezelés Delphiben 2 Adatmegjelenítés lekérdezés segítségével A táblákhoz hasonlóan a lekérdezések is az adatbázis

Részletesebben

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

A gyakorlat során az alábbi ábrán látható négy entitáshoz kapcsolódó adatbevitelt fogjuk megoldani. Vizuális programozás 1. A gyakorlat célja A gyakorlat célja a Könyvtár alkalmazás folytatása az előző gyakorlaton elkészített grafikus felület felhasználásával. Elsőként lemásoljuk az előző gyakorlat eredményeként

Részletesebben

abkezel.java import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.sql.*; public class abkezel extends JFrame {

abkezel.java import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.sql.*; public class abkezel extends JFrame { Adatkezelés JDBC-vel 1 abkezel.java import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.sql.*; public class abkezel extends JFrame { private JTabbedPane jtp; private JPanel dp,

Részletesebben

Johanyák Zsolt Csaba: Grafikus felület programozása. http://www.johanyak.hu e-mail: johanyak.csaba@gamf.kefo.hu Copyright 2008 Johanyák Zsolt Csaba

Johanyák Zsolt Csaba: Grafikus felület programozása. http://www.johanyak.hu e-mail: johanyak.csaba@gamf.kefo.hu Copyright 2008 Johanyák Zsolt Csaba Johanyák Zsolt Csaba: Grafikus felület programozása http://www.johanyak.hu e-mail: johanyak.csaba@gamf.kefo.hu Copyright 2008 Johanyák Zsolt Csaba 1. Gyümölcsárazó automata Készítsünk egy gyümölcsárazó

Részletesebben

Adatbázis Rendszerek II. 2. Ea: Gyakorló környezet

Adatbázis Rendszerek II. 2. Ea: Gyakorló környezet Adatbázis Rendszerek II. 2. Ea: Gyakorló környezet 26/1 B IT v: 2018.02.21 MAN Gyakorló környezet apex.oracle.com/en/ 26/2 A regisztrációs folyamat 26/3 26/4 26/5 26/6 26/7 26/8 26/9 26/10 26/11 Feladatok

Részletesebben

Hardver modellezés SystemC-vel és SDL grafikus könyvtárral Visual Stúdió alatt

Hardver modellezés SystemC-vel és SDL grafikus könyvtárral Visual Stúdió alatt BME Hardver modellezés SystemC-vel és SDL grafikus könyvtárral Visual Stúdió alatt Visual Studio, SystemC, SDL Tóth Gergely Endre 2013.03.18. 1 Bevezetés Ebben a dokumentumban leírom, hogy hogyan lehet

Részletesebben

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

Java Programozás 9. Gy: Java alapok. Adatkezelő 5.rész Java Programozás 9. Gy: Java alapok Adatkezelő 5.rész 15/1 B ITv: MAN 2018.04.22 A Keresés funkció Programlogika: 1. A keresés az etm táblamodellben fog keresni, és a találat rekordokat átmásolja egy másik

Részletesebben

Adatelemzés SAS Enterprise Guide használatával. Soltész Gábor solteszgabee[at]gmail.com

Adatelemzés SAS Enterprise Guide használatával. Soltész Gábor solteszgabee[at]gmail.com Adatelemzés SAS Enterprise Guide használatával Soltész Gábor solteszgabee[at]gmail.com Tartalom SAS Enterprise Guide bemutatása Kezelőfelület Adatbeolvasás Szűrés, rendezés Új változó létrehozása Elemzések

Részletesebben

ESEMÉNY VEZÉRELT ALKALMAZÁSOK FEJLESZTÉSE I. Bevezetés. Készítette: Gregorics Tibor

ESEMÉNY VEZÉRELT ALKALMAZÁSOK FEJLESZTÉSE I. Bevezetés. Készítette: Gregorics Tibor ESEMÉNY VEZÉRELT ALKALMAZÁSOK FEJLESZTÉSE I. Bevezetés Készítette: Gregorics Tibor Előfeltétel: OAF (EAF2) Kötelező házi feladatok: 4 darab feladat max. 5-5 pontért Feltételek 2 hét késés: legfeljebb 3

Részletesebben

Mobil informatika gyakorlat. 2. óra: NFC a gyakorlatban

Mobil informatika gyakorlat. 2. óra: NFC a gyakorlatban Mobil informatika gyakorlat 2. óra: NFC a gyakorlatban Mi az NFC? Near Field Communication Rövid hatótávolságú rádiófrekvenciás technológia (tipikusan 5-10 cm) 13,56 MHz frekvencia Az ISO/IEC 14443 szabvány

Részletesebben

munkafüzet open eseményéhez

munkafüzet open eseményéhez Makrók használata az Excelben - munkafüzet open eseményéhez VBA-eljárás létrehozása Az Auto_Open makróval kapcsolatos fenti korlátozások megkerülhetők az Open eseményhez rendelt VBA-eljárással. Példa Auto_open

Részletesebben

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:

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: 1 Adatbázis kezelés 2. 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: Táblák létrehozása,

Részletesebben

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

MS ACCESS 2010 ADATBÁZIS-KEZELÉS ELMÉLET SZE INFORMATIKAI KÉPZÉS 1 SZE INFORMATIKAI KÉPZÉS 1 ADATBÁZIS-KEZELÉS MS ACCESS 2010 A feladat megoldása során a Microsoft Office Access 2010 használata a javasolt. Ebben a feladatban a következőket fogjuk gyakorolni: Adatok importálása

Részletesebben

Tartalom DCOM. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés

Tartalom DCOM. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés Tartalom D Szoftvertechnológia elıadás Architektúra D vs CORBA Példá 2 1987 Dynamic Data Exchange (DDE) Windows 2.0-ban Windows alkalmazások közötti adatcsere Ma is használatos (pl. vágólap) NetDDE NetBIOS

Részletesebben

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

SQL ALAPOK. Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai SQL ALAPOK Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai BEVEZETÉS SQL: Structured Query Language Strukturált Lekérdező Nyelv Szabvány határozza meg, azonban számos nyelvjárása létezik

Részletesebben

Adatbázisok* tulajdonságai

Adatbázisok* tulajdonságai Gazdasági folyamatok térbeli elemzése 4. előadás 2010. 10. 05. Adatbázisok* tulajdonságai Rendezett, logikailag összefüggő és meghatározott szempont szerint tárolt adatok és/vagy információk halmaza Az

Részletesebben

1. Gyakorlat: Telepítés: Windows Server 2008 R2 Enterprise, Core, Windows 7

1. Gyakorlat: Telepítés: Windows Server 2008 R2 Enterprise, Core, Windows 7 1. Gyakorlat: Telepítés: Windows Server 2008 R2 Enterprise, Core, Windows 7 1.1. Új virtuális gép és Windows Server 2008 R2 Enterprise alap lemez létrehozása 1.2. A differenciális lemezek és a két új virtuális

Részletesebben

A lista eleme. mutató rész. adat rész. Listaelem létrehozása. Node Deklarálás. Létrehozás. Az elemet nekünk kell bef zni a listába

A lista eleme. mutató rész. adat rész. Listaelem létrehozása. Node Deklarálás. Létrehozás. Az elemet nekünk kell bef zni a listába A lista eleme 0 adat rész mutató rész Listaelem létrehozása p: Node 0 0 3 0 Az elemet nekünk kell bef zni a listába Deklarálás struct Node { int int value; Node* next; next; adattagok Létrehozás Node*

Részletesebben

Egyszerű alkalmazás fejlesztése JDeveloperben

Egyszerű alkalmazás fejlesztése JDeveloperben Egyszerű alkalmazás fejlesztése JDeveloperben Készítette: Cséri Tamás A feladat a következő: Jdeveloperrel egy webes alkalmazást kell készíteni, amely segítségével egy hallgato(eha,nev,atlag) táblába lehessen

Részletesebben

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

Adatbázis-lekérdezés. Az SQL nyelv. Makány György Adatbázis-lekérdezés Az SQL nyelv Makány György SQL (Structured Query Language=struktúrált lekérdező nyelv): relációs adatbázisok adatainak visszakeresésére, frissítésére, kezelésére szolgáló nyelv. Születési

Részletesebben

OKTATÓANYAG. Cseh Péter. Webes alkalmazás készítése JDeveloper segítségével CSPOAAI.ELTE

OKTATÓANYAG. Cseh Péter. Webes alkalmazás készítése JDeveloper segítségével CSPOAAI.ELTE OKTATÓANYAG Webes alkalmazás készítése JDeveloper segítségével Cseh Péter CSPOAAI.ELTE Feladat: JDeveloper segítségével egy webes alkalmazás elkészítése, amellyel egy HALLGATO (EHA, NEV, ATLAG) táblába

Részletesebben