Tvorba informačních systémů

Podobné dokumenty
Tvorba informačních systémů

Tvorba informačních systémů

Michal Krátký, Miroslav Beneš

Datová vrstva informačního systému. Miroslav Beneš

Datová vrstva informačního systému. Java Database Connectivity JDBC. Obsah přednášky JDBC. Datová vrstva informačního systému

Typ 2 - připojení prostřednictvím kódu nativního klienta pro přístup k síti

Semináˇr Java X JDBC Semináˇr Java X p.1/25

Tvorba informačních systémů

Použití databází na Webu

4. lekce Přístup k databázi z vyššího programovacího jazyka

Tvorba informačních systémů

Michal Krátký, Miroslav Beneš

TÉMATICKÝ OKRUH TZD, DIS a TIS

Databázové a informační systémy

Programování v jazyku C# II. 5.kapitola

Univerzita Palackého v Olomouci Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 10.4.

Návrh a tvorba WWW stránek 1/14. PHP a databáze

C# - Databáze úvod, ADO.NET. Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí

Databáze II. 1. přednáška. Helena Palovská

Úvod do Javy, JDBC a multimediální databáze

Třídy a objekty. Třídy a objekty. Vytvoření instance třídy. Přístup k atributům a metodám objektu. $z = new Zlomek(3, 5);

Jazyk C# - přístup k datům

Západočeská univerzita v Plzni Katedra informatiky a výpočetní techniky. 9. června krovacek@students.zcu.cz

Jazyk C# - přístup k datům

Databázové systémy. Doc.Ing.Miloš Koch,CSc.

Úvod do Javy, JDBC a multimediální databáze

Semestrální práce z DAS2 a WWW

Komponenty v.net. Obsah přednášky

Základy informatiky. 08 Databázové systémy. Daniela Szturcová

O Apache Derby detailněji. Hynek Mlnařík

Databázové a informační systémy Jana Šarmanová

Inovace a zkvalitnění výuky prostřednictvím ICT. Základní seznámení s MySQL Ing. Kotásek Jaroslav

Úvod do databází. Modelování v řízení. Ing. Petr Kalčev

Základy jazyka C# Obsah přednášky. Architektura.NET Historie Vlastnosti jazyka C# Datové typy Příkazy Prostory jmen Třídy, rozhraní

Java a Caché IV: Manipulace s objekty

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

PL/SQL. Jazyk SQL je jazykem deklarativním, který neobsahuje procedurální příkazy jako jsou cykly, podmínky, procedury, funkce, atd.

Bezpečnost a bezpečné programování

Architektury informačních systémů

Architektury informačních systémů

Databázové systémy úvod

Virtual private database. Antonín Steinhauser

Jalapeño: pekelně ostrá Java persistence v Caché. Daniel Kutáč Senior Sales Engineer

STARÁ DOBRÁ JAVA A PERSISTENCE S CACHÉ

Databázové systémy a SQL

Základy informatiky. 06 Databázové systémy. Kačmařík/Szturcová/Děrgel/Rapant

Embedded SQL v C/C++ úvod. Administrace Oracle Kateřina Opočenská

8.2 Používání a tvorba databází

Tvorba informačních systémů

Databázové systémy II. KIV/DB2 LS 2007/2008. Zadání semestrální práce

Tvorba informačních systémů

Kurz Databáze. Obsah. Dotazy. Zpracování dat. Doc. Ing. Radim Farana, CSc.

Text úlohy. Systémový katalog (DICTIONARY):

Databázové systémy, MS Access. Autor: Ing. Jan Nožička SOŠ a SOU Česká Lípa VY_32_INOVACE_1130_Databázové systémy, MS Access_PWP

Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Jihlava

Úvod do databázových systémů

Michal Krátký. Tvorba informačních systémů, 2008/2009. Katedra informatiky VŠB Technická univerzita Ostrava. Tvorba informačních systémů

Platforma.NET 11.NET Framework 11 Visual Basic.NET Základní principy a syntaxe 13

UJO Framework. revoluční architektura beans. verze

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Nové jazykové brány do Caché. Daniel Kutáč

Prostorové a XML databáze

Michal Krátký, Miroslav Beneš

Databáze. Velmi stručný a zjednodušený úvod do problematiky databází pro programátory v Pythonu. Bedřich Košata

Bridge. Známý jako. Účel. Použitelnost. Handle/Body

KMI / TMA Tvorba mobilních aplikací. 6. seminář ZS 2016/2017 Středa 13:15-15:45

Webové služby a XML. Obsah přednášky. Co jsou to webové služby. Co jsou to webové služby. Webové služby a XML

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

Tvorba informačních systémů

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Kapitola 4. Úvod 11. Stručný úvod do relačních databází 13. Platforma 10g 23

Zápisování dat do databáze

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím

UNIVERZITA PARDUBICE Fakulta elektrotechniky a informatiky. Databázová aplikace pro evidenci mechatronických stavebnic Michal Grof

FIREBIRD relační databázový systém. Tomáš Svoboda

Prostorové a XML databáze

RNDr. Michal Kopecký, Ph.D. Department of Software Engineering, Faculty of Mathematics and Physics, Charles University in Prague

Univerzita Palackého v Olomouci Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 26.3.

Databázové systémy Cvičení 5.2

Ing. Přemysl Brada, MSc., Ph.D. Ing. Martin Dostal. Katedra informatiky a výpočetní techniky, FAV, ZČU v Plzni

Stěhování aplikací. Michal Tomek, Sales Manager

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Stored Procedures & Database Triggers, Tiskové sestavy v Oracle Reports

Úvod do databázových systémů

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Oracle XML DB. Tomáš Nykodým

Databáze v Java aplikacích, JPA Handout

5. POČÍTAČOVÉ CVIČENÍ

Rezervační systém Tvorba WWW stránek

RMI - Distribuované objekty v Javě

Přizpůsobení JSTL pro Google App Engine Datastore

7. Integrita a bezpečnost dat v DBS

7. Integrita a bezpečnost dat v DBS

Platforma Java. Petr Krajča. Katedra informatiky Univerzita Palackého v Olomouci. Petr Krajča (UP) KMI/PJA: Seminář V. 27. říjen, / 15

Databázové systémy. Cvičení 6: SQL

Databázové systémy I. 1. přednáška

Stručný obsah. část III Aktualizace dat Kapitola 10: Aktualizace databáze 257 Kapitola 11: Integrita dat 275 Kapitola 12: Zpracování transakcí 307

Java Database Connectivity with JDBC

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Inovace a zkvalitnění výuky prostřednictvím ICT Databázové systémy MySQL základní pojmy, motivace Ing. Kotásek Jaroslav

Databáze I. Přednáška 4

Transkript:

Tvorba informačních systémů Michal Krátký, Miroslav Beneš Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2006/2007 c 2006-2007 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 1/44

Obsah 5. Datová vrstva informačních systémů Datová vrstva,,, ADO.NET. Využití objektově-relačního modelu, SQL Injection. c 2006-2007 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 2/44

Datová vrstva 5. Datová vrstva informačních systémů Oddělení aplikace od přístupu do databáze. Standardizovaný dotazovací jazyk - SQL. Standardizované rozhraní v programovacím jazyce - ODBC, JDBC, ADO.NET,.... c 2006-2007 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 3/44

Standard pro přístup do databáze. SQL Access group, 1992. Umožňuje dotazovat data z libovolné aplikace bez ohledu v jaké databázi jsou uložena. Vložena mezivrstva - ovladač, překládající uživatelské dotazy na dotazy databáze. Správce ovladačů Driver Manager. ODBC-compliant. Od verze 2.0 je podporováno SQL. Standardy: X/Open a ISO: SQL Call Level Interface (SQL/CLI). c 2006-2007 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 4/44

Architektura ODBC c 2006-2007 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 5/44

Typy ovladačů 5. Datová vrstva informačních systémů Ovladače založené na souborech přímý přístup k datům (ovladače = zdroj dat), analýza a interpretace dotazů, dbase. Ovladače založené na SŘBD dotazy se předávají ke zpracování SŘBD, transformace ODBC SQL na konkrétní dialekt SQL. c 2006-2007 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 6/44

Postup 5. Datová vrstva informačních systémů 1 Připojení k datovému zdroji. 2 Inicializace. 3 Vytvoření a provedení dotazu. 4 Získání výsledku. 5 Ukončení transakce. 6 Odpojení od datového zdroje. c 2006-2007 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 7/44

Připojení k datovému zdroji / / Alokace zastupce pro spravce ovladacu ODBC SQLHENV henv ; SQLAllocHandle (SQL_HANDLE_ENV, SQL_NULL_HANDLE, & henv ) ; / / Deklarace pozadovane verze ODBC SQLSetEnvAttr ( henv, SQL_ATTR_ODBC_VERSION, (SQLPOINTER ) SQL_OV_ODBC3, 0 ) ; / / Alokace zastupce pro databazove p r i p o j e n i SQLHDBC hdbc1 ; SQLAllocHandle (SQL_HANDLE_DBC, henv, & hdbc ) ; / / P r i p o j e n i k databazi, zdroj, u z i v a t e l, heslo SQLConnect ( hdbc, database, SQL_NTS, user, SQL_NTS, password, SQL_NTS ) ; c 2006-2007 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 8/44

Inicializace aplikace / / Z i s k a n i i n f o r m a c i o SRBD, ovladaci,... SQLCHAR dbms_name [ 4 0 ] ; SQLGetInfo ( hdbc, SQL_DBMS_NAME, dbms_name, sizeof (dbms_name ), NULL ) ; / / Alokace zastupce pro p r i k a z ( dotaz ) SQLHANDLE hstmt ; SQLAllocHandle (SQL_HANDLE_STMT, hdbc, & hstmt ) ; c 2006-2007 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 9/44

Vytvoření a provedení dotazu Přímé provedení dotazu SQLCHARquery [ ] = "INSERT INTO... " ; SQLExecDirect ( hstmt, query, SQL_NTS ) ; Přpravený dotaz SQLCHAR query = "SELECT jmeno FROM uziv WHERE l o g i n =? " ; SQLPrepare ( hstmt, query, SQL_NTS ) ; SQLBindParameter ( hstmt, 1,... ) ; SQLExecute ( hstmt ) ; c 2006-2007 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 10/44

Získání výsledku / / Svazani promennych s vysledkem dotazu SQLCHAR jmeno [ 3 0 ] ; SQLINTEGER jmeno_ind ; SQLBindCol ( hstmt, 1, SQL_C_CHAR, jmeno, sizeof ( jmeno ), & jmeno_ind ) ; / / Cteni vysledku while ( SQLFetch ( hstmt )! = SQL_NO_DATA ) { i f ( jmeno_ind! = SQL_NULL_DATA ) cout < < jmeno ; } c 2006-2007 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 11/44

Odpojení od zdroje dat / / Uvolneni zastupce prikazu SQLFreeHandle (SQL_HANDLE_STMT, hstmt ) ; / / Odpojeni od databaze SQLDisconnect ( hdbc ) ; / / Uvolneni zastupce prikazu SQLFreeHandle (SQL_HANDLE_DBC, hdbc ) ; / / Uvolneni zastupce p r o s t r e d i SQLFreeHandle (SQL_HANDLE_ENV, henv ) ; c 2006-2007 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 12/44

Rozhraní pro unifikovaný přístup k datům. Použití i mimo klient-server SŘBD data ve formě tabulek (CSV, XLS,...) Ovladače jsou k dispozici pro většinu databázových systémů. Inspirováno rozhraním ODBC Objektové rozhraní. Možnost spolupráce s ODBC. c 2006-2007 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 13/44

Architektura JDBC c 2006-2007 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 14/44

Architektura JDBC c 2006-2007 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 15/44

JDBC ovladač 5. Datová vrstva informačních systémů Zprostředkování komunikace aplikace s konkrétním typem databáze. Implementován obvykle výrobcem databáze. Dotazovací jazyk SQL předá se databázi, ovladač vyhodnotí přímo. Reprezentován specifickou třidou: sun.jdbc.odbc.jdbcodbcdriver, com.mysql.jdbc.driver. c 2006-2007 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 16/44

Typy JDBC ovladač Typ 1: využívá ODBC (přes JDBC-ODBC bridge), obtížně konfigurovatelné. Typ 2: komunikace s nativním ovladačem. Typ 3: komunikuje s centrálním serverem (Network Server) sít ovým protokolem, pro rozsáhlé heterogenní systémy. Typ 4: založen čistě na jazyce Java, přímý přístup do databáze. c 2006-2007 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 17/44

Registrace ovladače Konkretní ovladač je pevně spojen s aplikací new com.mysql.jdbc.driver() Výběr ovladače za běhu aplikace S t r i n g drivername = "com. mysql. jdbc. D r i v e r " ; t r y { Class. forname ( drivername ) ; } catch ( ClassNotFoundExceptione ) { / / obsluha vyjimky } c 2006-2007 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 18/44

Identifikace spojení jdbc:driver:database jdbc:odbc:datasource;attr=value;... Příklad: jdbc:mysql://localhost/tis?user=tis &password=tis &useunicode=true &characterencoding=iso-8859-2 c 2006-2007 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 19/44

Připojení k databázi Connection con = DriverManager.getConnection( url_string, user_string, password_string ); 1 DriverManager se dotáže všech registrovaných ovladačů. 2 Rozpozná-li ovladač své url, vrátí objekt Connection. c 2006-2007 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 20/44

Objekt Statement Reprezentuje SQL příkaz: Statement PreparedStatement CallableStatement Vytvoření instance příkazu: Statement stmt= con.createstatement(); Provedení příkazu: ResultSet rs= stmt.executequery( "SELECT * FROM t"); int num = stmt.executeupdate( "DELETE * FROM t"); c 2006-2007 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 21/44

Objekt ResultSet Reprezentuje výsledek dotazu SELECT: Statement stmt = con. createstatement ( ) ; ResultSet rs = stmt. executequery ( "SELECT FROM u z i v a t e l " ) ; while ( rs. next ( ) ) { S t r i n g l o g i n = rs. g e t S t r i n g ( " l o g i n " ) ; S t r i n g jmeno = rs. g e t S t r i n g ( " jmeno " ) ; } rs. close ( ) ; stmt. close ( ) ; c 2006-2007 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 22/44

Ošetření chyb 5. Datová vrstva informačních systémů public class SQLException extends Exception t r y {... } catch ( SQLException e ) { while ( e! = null ) { System. out. p r i n t l n ( e. getmessage ( ) ) ; System. out. p r i n t l n ( e. getsqlstate ( ) ) ; System. out. p r i n t l n ( e. geterrorcode ( ) ) ; e = e. getnextexception ( ) ; } } c 2006-2007 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 23/44

Parametrizované příkazy Možnost předkompilace opakované provedení příkazu. Parametry označené znakem?, indexované od 1, INSERT INTO u z i v a t e l ( l o g i n, jmeno ) VALUES(?,? ) c 2006-2007 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 24/44

Parametrizované příkazy PreparedStatement pstmt = con. preparestatement ( "INSERT... VALUES(?,? ) " ) ; pstmt. clearparameters ( ) ; pstmt. s e t S t r i n g ( 1, " wal007 " ) ; pstmt. s e t N u l l ( 2, Types.VARCHAR) ; c 2006-2007 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 25/44

Transakce 5. Datová vrstva informačních systémů t r y { con. setautocommit ( false ) ; stmt. executeupdate (... ) ;... con. commit ( ) ; } catch ( SQLExceptione ) { con. r o l l b a c k ( ) ; } c 2006-2007 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 26/44

Příklad, Oracle 1/2 DriverManager. r e g i s t e r D r i v e r (new OracleDriver ( ) ) ; S t r i n g connstr = " jdbc : o r a c l e : t h i n : @infra. cs. vsb. cz " + " :1521: d456 " ; Connection connection = DriverManager. getconnection ( connstr, " xxx ", " yyy " ) ; Statement statement = connection. createstatement ( ) ; boolean r e s u l t f = statement. execute ( "UPDATE PROBE_SET VALUE=1 WHERE ID = 2 " ) ; c 2006-2007 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 27/44

Příklad, Oracle 2/2 ResultSet r e s u l t S e t = null ; i f ( r e s u l t f ) { r e s u l t S e t = statement. getresultset ( ) ; } i n t updatecount = statement. getupdatecount ( ) ; statement. close ( ) ; connection. close ( ) ; c 2006-2007 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 28/44

Příklad - JSTL 5. Datová vrstva informačních systémů < s q l : setdatasource var= " datasource " d r i v e r = " org. g j t.mm. mysql. d r i v e r " u r l = " jdbc : mysql : / / l o c a l h o s t / db " user= " guest " password= " guest " / > < s q l : query datasource= " $ { datasource } "... / > c 2006-2007 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 29/44

ADO.NET 5. Datová vrstva informačních systémů Přístup k datům na platformě.net. Možnost práce s XML daty. Propojení na další komponenty.net. c 2006-2007 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 30/44

Architektura ADO.NET Komponenty zaměřené na obsah DataSet DataTable, DataRow, DataColumn DataRelation Komponenty pro správu Connection Command DataReader DataAdapter c 2006-2007 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 31/44

Architektura ADO.NET c 2006-2007 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 32/44

Komponenty ADO.NET DataReader rychlý přístup k datům, pouze čtení směrem vpřed. DataSet obsahuje kopii dat z datového zdroje, čtení a zápis dat a schématu ve formátu XML. DataAdapter abstrakce přípojení a příkazu, naplnění a synchronizace dat pro DataSet. c 2006-2007 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 33/44

Příklad, Oracle 1/3 using System. Data ; using System. Data. O r a c l e C l i e n t ;... OracleConnection connection = new OracleConnection ( " Data Source= i n f o ; User ID=xxx ; Password=yyy " ) ; connection. Open ( ) ; OracleCommand command = new OracleCommand ( " s e l e c t from student ", connection ) ; OracleDataAdapter dbadapter = new OracleDataAdapter ( command ) ; DataSet dataset = new DataSet ( " student " ) ; c 2006-2007 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 34/44

Příklad, Oracle 2/3 t r y { dbadapter. F i l l ( dataset ) ; } catch ( Exception exc ) { throw new Exception ( exc. Message ) ; }.... c 2006-2007 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 35/44

Příklad, Oracle 3/3.... / / draw the r e s u l t System. Windows. Forms. DataGrid studentdatagrid= new System. Windows. Forms. DataGrid ( ) ; studentdatagrid. DataSource = dataset ; studentdatagrid. Update ( ) ;... connection. Close ( ) ; c 2006-2007 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 36/44

Vazba ASP.NET na data <%@ Import Namespace= " System. Data. Odbc"%> <formrunat=" server " > <asp : L i s t B o x i d = " ListBox1 " runat=" server " Width= " 355px " Height= " 180px " DataTextField=" nazev " DataValueField= " i d " / > < / form> c 2006-2007 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 37/44

Vazba ASP.NET na data void Page_Load ( Objectsender, EventArgse ) { i f (! IsPostBack ) { OdbcDataAdapter da = new OdbcDataAdapter ( "SELECT id, nazev FROM katedry ", "DSN=KatIS " ) ; System. Data. DataSet ds = newsystem. Data. DataSet ( ) ; } } da. F i l l ( ds, " Katedra " ) ; ListBox1. DataSource = ds. Tables [ " Katedra " ]. DefaultView ; ListBox1. DataBind ( ) ; c 2006-2007 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 38/44

Využití objektově-relačního modelu Ukázka: Ukázka Oracle Spatial - rozšíření Oracle pro uložení prostorových dat. Prostorový atribut (např. tvar budovy) je uložen v atributu typu: SDO_GEOMETRY. OracleCommand command = mdatabase. CreateCommand ( ) ; S t r i n g INSERT = "INSERT INTO LayerBuilding ( " + " objid, id, f i d, area, shape ) " + " VALUES ( : objid, : id, : f i d, : area, " ; c 2006-2007 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 39/44

Využití objektově-relačního modelu 2/2 S t r i n g shape = "SDO_GEOMETRY(2003, " + " 2065, NULL, SDO_ELEM_INFO_ARRAY(1,1003,1), " + "SDO_ORDINATE_ARRAY( " ; command. CommandText = INSERT + shape + strpolygon + " ) ) ) " ; OracleParameter objidparam = new OracleParameter ( " o b j I d ", OracleDbType. Varchar2, 1 2 8 ) ; objidparam. Value = l a y e r B u i l d i n g. ObjId ; command. Parameters. Add ( objidparam ) ;... c 2006-2007 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 40/44

SQL Injection 5. Datová vrstva informačních systémů S t r i n g s t r = "SELECT uniqueid FROM users WHERE username= " + userid + " AND password = " + password + " ; " ; Pokud userid=" or 1=1 --", pak: SELECT uniqueid FROM users WHERE username= OR 1 =1 AND password = heslo Získáme jedinečná čísla všech uživatelů. IS odolal? Zkuste: OR a = a atp. c 2006-2007 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 41/44

Obrana proti SQL Injection V textových vstupech nahradit apostrof dvěma apostrofy. Testování hodnot datových typů. Použít parametrizované SQL příkazy: S t r i n g strquery = "SELECT uniqueid FROM users WHERE username=@username AND password=@password " ; A využít SqlCommand a SqlParameter pro nahrazení příslušného parametru. c 2006-2007 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 42/44

Pomocné rámce datové vrstvy Implementace rozhraní k databázi: Pro každý záznam a tabulku vytvoříte třídu, např. Student a StudentTable. Můžeme využít rámec, který některou práci udělá za nás: Hibernate, http://www.hibernate.org/, pro J2EE a.net c 2006-2007 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 43/44

Reference 5. Datová vrstva informačních systémů ODBC http://www.microsoft.com/data/odbc/ http://www.unixodbc.org/ JDBC http://java.sun.com/products/jdbc ADO.NET http://www.msdn.com/ c 2006-2007 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 44/44