Baze de date in pagini Web

Notiuni introductive despre SQL si MySQL

    Baza de date MySQL este una dintre cele mai populare baze de date SQL (Structured Query Language) de tip "open source".
    MySQL este o baza de date relationala gestionata prin intermediul limbajului SQL. SQL-ul este un limbaj de interogare standardizat ANSI si ISO. Majoritatea sistemelor de gestiune a bazelor de date (SGBD) recunosc acest limbaj. SQL permite gestionarea bazelor de date avand posibilitatea de a crea baze de date, tabele, si de a inserara, modifica, sterge si regasi date continute de tabele.

  • Baze de date MySQL

        In cadrul bazelor de date MySQL, datele sunt pastrate in tabele. O baza de date este compusa din una sau mai multe tabele, fiecare tabela fiind structurata pe linii si coloane.
        Bazele de date pot stoca informatie structurata pe categorii fiind foarte utile in realizarea aplicatiilor client-server care realizeaza acces la baze de date.

  • Crearea bazelor de date si a tabelelor

        Bazele de date, tabelele si gestionarea bazei de date poate fi facuta direct prin comenzi SQL sau se pot utiliza apicatii prietenoase oferite de producatorii bazelor de date. MySQL ofera un client mysql pentru comenzi SQL precum si interfete grafice de genul MySQL Query Browser sau MySQL Administrator in vederea gestionarii bazelor de date MySQL. Bazele de date MySQL pot fi gestionate si prin intermediul aplicatiilor realizate in Php, cel mai popular fiind phpMyAdmin.




        Aplicatia phpMyAdmin este oferita de majoritatea provide-rilor in vedera gestoinarii bazelor de date la nivel de utilizator.
        In cazul in care avem drepturi de administrator al intregului sistem de baze de date MySQL este mult mai usor sa utilizam MySQL Query Browser sau MySQL Administrator. In imaginea de jos este prezentat ecranul aplicatiei MySQL Query Browser. Dupa logare, conectare la baza de date , selectia unei tabele si lansarea comenzii :SELECT * FROM nume_tabela;



        Gstionarea bazei de date poate fi facuta si direct prin comenzi SQL. Pentru crearea bazei de date numita "cons_el" vom lansa comanda:

    CREATE DATABASE cons_el;
    USE Cons_el;
    


        Vom utiliza aceasta baza de date pentru a stoca date referitoare la diferiti consumatori electrici. Vom avea nevoie de o tabela in care sa pastram informatii de genul: denumire consumator (den_c), tensiune nominala (tens_n), curent nominal (crnt_n), ungiul de defazajul (def) introdus in cazul in care este un consumator inductiv sau capacitiv.
        Pentru crearea tabela numita "ap_electr" vom lansa comanda:

    CREATE TABLE  cons_el . ap_electr  (
       ap_id  SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
       den_ap  VARCHAR(25) NOT NULL,
       tens_n  INTEGER UNSIGNED NOT NULL,
       crnt_n  DOUBLE(5,2) NOT NULL,
       def  DOUBLE(3,2) NOT NULL,
      PRIMARY KEY( ap_id )
    )
    ENGINE = InnoDB
    COMMENT = 'Aparate electrice';
    


        Daca utilizam MySQL Query Browser obtinem:




  • Inserarea datelor in tabele

        
        Pentru a insera date in tabela numita "ap_electr" vom lansa comanda:

    INSERT INTO  ap_electr  ( ap_id , den_ap , tens_n , crnt_n , def ) VALUES 
     (1,'Motor electric',220,10.50,1.27),
     (2,'Bec electric',220,23.00,0.00),
     (3,'Motor trifazat',380,16.75,2.44);
    


        Au fost introduse trei inregistrari , atribuindu-se valori pentru fiecare camp din fiecare linie.

  • Afisarea datelor introduse in tabele

        Datele introduse, pot fi vizualizate folosind domanda "Select"

    SELECT * FROM ap_electr ;
    

        Folosind MySQL Query Browser obtinem:




  • Cautarea datelor introduse in tabele

        In cazul in care dorim sa gasim o anumite date stocate in baza de date vom folosi tot instructiunea "Select" insa cu clauza "Where". Daca dorim sa gasim toate aparatele care funcioneaza la 220 v lansam comanda: Datele introduse, pot fi folosind domanda "Select"

    SELECT * FROM ap_electr WHERE tens_n=220;
    

        Dupa lansarea comenzii vor fi selectate numai doua inregistrari adica inregistrarile cu tens_n=220

  • Modificarea datelor introduse in tabele

        In cazul in care dorim sa mdificam anumite date stocate in baza de date vom folosi tot instructiunea "Update" cu clauza "Where" pentru a ajunge la inregistrarea sau inregistrarile dorite. Daca dorim sa modificam defazajul inregistrarii cu numarul 3 adica _ap_id=3, la valoarea 2.55, lansam comanda: Datele introduse, pot fi folosind domanda "Select"

    UPDATE ap_electr
    SET def=2.55
    WHERE ap_id=3;
    

        Dupa lansarea comenzii aparatul cu nr 3 (Motor trifazat) va avea setat defazajul la 2.55

  • Stergere datelor introduse in tabele

        In cazul in care dorim sa stergem anumite inregistrari vom folosi comanda "Delete" cu clauza "Where" Pentru stergerea inregistrarilor cu defazaj 0, lansam comanda:

    DELETE *FROM ap_electr
    WHERE def=0;
    

        Dupa lansarea comenzii se va sterge inregistrarea 2 (Bec electric).

  • Afisarea datelor introduse in tabele dupa diverse criterii de ordonare

        In cazul in care dorim sa controlam ordinea in care se selecteaza inregistrarile lansam comanda:

    SELECT *FROM ap_electr
    ORDER BY den_ap ASC;
    

        Dupa lansarea comenzii se vor afisa datele in ordinea alfabetica directa a denumirii aparatelor.

    Utilizare PHP si MySQL pentru realizarea aplicatiilor client-server

        Puterea unei aplicatii "pe partea" serverului este data de posibilitatea conectarii acesteia la o baza de date.

  • Conectarea la o baza de date MySQL din PHP

        Conectarea la serverul bazei de date se face folosind functia de conectare mysql_connect

        Sintaxa acestei functii este urmatoarea:

    mysql_connect(nume_server, nume_utilizator, parola);
    

        Dupa conectarea la serverul bazei de date, se face selectia bazei de date folosind functia mysql_select_db

    mysql_select_db(baza_de_date);
    

        Sa presupunem ca am creat baza de date "cons_el" si tabela "ap_electr" descrise mai sus. Vom crea si un utilizator numit "student" care se autentifica cu parola "psw". Alocam drepturile :SELECT, INSERT, UPDATE si DELETE.
        Vom realiza un script "con_mysql.php" care realizeaza conectarea la serverul bazei de date si selecteaza baza de date "cons_el".
        Vom utiliza acest script pentru a realiza aplicatii mai complexe cu acces la baze de date.



        Conectarea la serverul bazei de date se face folosind functia de conectare mysqli_connect

        Functia mysql_connect a fost inlocuita in ultimele versiuni cu mysqli_connect functie careia i se transmite numele bazei de date la care se face conectarea fara a fi necesara conectarea in prealabil la aceasta.
        Sintaxa acestei functii este urmatoarea:

    mysqli_connect(nume_server, nume_utilizator,parola, nume_baza_de_date);
    

        Scriptul "con_mysqli.php" care realizeaza conectarea la serverul bazei de date si selecteaza baza de date "cons_el" devine:



        Sa presupunem ca vrem sa creem o tabela "electr" in cadrul schemei "cons_el", cu urmatoarea structura:

        Urmatoarele fraze SQL de exemplu genereaza tabela "electr" si o initializeaza cu doua inregistrari.



        Vom scrie in continuare o aplicatie server in php, care sa afiseze valorile tuturor inregistrarilor, din tabela "electr" din baza de date "cons_el", unde se va folosi functia de conectare mysql_connect


        Dupa cum se observa, fraza de interogare a bazei de date este trimisa ca parametru functiei @mysql_query . Functia @mysql_query returneaza raspunsul bazei de date sub forma unui tablou. Variabila $rezult este defapt un tablou care are atatea linii cate inregistrari s-au gasit in baza de date.
        Extragerea unei linii din acest tablou se face cu functia mysql_fetch_array() . Variabila $row este deci un vector care contine atatea elemente cate campuri au fost selectate din baza de date.
        Extragerea unei valori corespunzatoare unui camp se face desigur utilizand un index sau denumirea asociata. Astfel pentru a obtine de exemplu valoarea id_el vom folosi $row[0] sau $row['id_el'], identic pentru a obtine valoarea min vom folosi: $row[3] sau $row['min']

        Vom relua aplicatia care afiseaza valorile tuturor inregistrarilor, din tabela "electr" din baza de date "cons_el", dar se va folosi functia de conectare mysqli_connect

  • Vizualizarea datelor dintr-o baza de date MySQL



    Afisre tabela "electr"
    SELECT id_el, val, max, min, um FROM electr
    1 192.00 250.00 20.00 Volt
    2 200.00 200.00 10.00 Volt
    3 100.00 100.00 1.00 mV
    4 500.00 500.00 25.00 w


  • Vizualizarea grafica a datelor dintr-o baza de date MySQL

        Pentru setarea campului "val" al primei inregistrari, vom realiza aplicatia "set_electr.php".
         - codul sursa al aplicatiei "electr_set.php" fiind:



        Aplicatia "voltm_db.php" citeste campul "val" amodificat de aplicatia de mai sus si creaza o imagine a unui voltmetru care afiseaza valoarea "val" citita.

    Afisare din baza de date



         Pentru afisarea dinamica a acestei imagini, s-a realizat urmatorul script javascript care apeleaza repetiriv imaginea creata de "voltm_db.php".



         Codul sursa al aplicatiei "voltm_db.php" fiind:



         Codul sursa al aplicatiei "voltm_clss.php" fiind:



  • Utilizare ajax pentru citirea a datelor dintr-o baza de date MySQL

        Metoda pentru vizualizarea grafica a datelor dintr-o baza de date MySQL prezentata anterior, are dezavantajul ca este mare consumatoare de resurse si este foarte lenta, metoda se bazeaza pe construirea unei imagini de catre aplicatia server si trimiterea acesteia clientului. Daca procesul este repettiv, este ineficient sa transmitem repetitiv aceste imagini. Solutia este sa realizam o aplicatie pe server care trimite datele de afisat impachetate intr-un text si o aplicatie client care sa preia aceste date si sa le afiseze grafic folosind clasa termo_clss.js.

    Utilizare ajax - afisare val din tabela "electr" Your browser does not support the HTML5 canvas tag.
    Raspuns:

        Fie aplicatia electr_read.php care citeste valorile, le impacheteaza intr-un text in care valorile sunt separate de caracterul","



         Urmatoarea aplicatie cere date in mod repetat folosind tehnologia AJAX dupa care le afiseaza folosind clasa javascript "termo_clss.js"



    Aplicatie client server pentru gestioneaza tabelei "ap_electr"


        Ne propunem sa realizam in continuare, o aplicatie client server cu acces la o baza de date, aplicatie care gestioneaza aparatele electrice.



  • Conectarea la baza de date "cons_el"

        Pentru conectarea la baza de date "cons_el" vom utiliza aplicatia "con_mysqli.php" care realizeaza conectarea la serverul bazei de date si selecteaza baza de date "cons_el" devine:



  • Afisarea datelor continute de o tabela

        Printre cele mai importante operatii efectuate in cadrul aplicatiilor cu baze de date sunt operatiile de regasire si afisare date, pastrate in tabelele unei baze de date. Afisarea se face de cele mai multe ori sub forma de tabele cu posibilitatea ordonarii datelor dupa diverse criterii.



        Aplicatia "list_electr" relaizeaza afisarea datelor contine printre altele conectarea la baza de date si interogarea acesteia.



  • Adaugarea de inregistrari in baza de date

        Este prezentata in continuare aplicatia "add_electr", aplicatie care permite adaugari de inregistrari in tabela "ap_electr"



        Sursa aplicatiei este prezentata mai jos.



        Dupa cum se observa aplicatia trimisa clientului comaseaza si raspunsul serverului (form action este setat tot pe aplicatia "add_electr". Separarea intre cele doua parti ale aplicatiei se face prin intermediul variabilei ascunse "trimis".

  • Editarea inregistrarilor existente in baza de date

        Inregistrarile existente in baza de date pot fi modificate de utilizator prin diverse aplicatii oferite. Astfel utilizatorul poate modifica unele inregistrari sau eventual sterge complet. Pentru acest lucru trebuie sa oferim utilizatorului un mecanism pentru a gasi inregistrarea dorita, dupa care sa poata efectua editarea respectivei inregistrari.

  • Regasirea inregistrarilor dorite existente in baza de date

        Cel mai simplu procedeu de regasire a inregistrarilor este listarea inregistrarilor dupa criteriul dorit si marcarea inregistrarii printr-un click cu mouse-ul. Aplicatia de regasire seamana cu aplicatia de listare a inregistrarilr cu deosebirea ca trebuie sa ofere mecanismul de selectie a inregisstrarii dorite.



        Sursa aplicatiei este prezentata mai jos:



        Aplicatia este proiectata sa fie apelata atat pentru editare cat si pentru stergere. Pentru operatiile de editare apelul aplicatiei se face cu:view_electr.php?cod=1 iar pentru stergere cu: view_electr.php?cod=2

  • Modificarea inregistrarilor

        Dupa ce inregistrarea dorita a fost aleasa din aplicatia precedenta, se intra in aplicatia "edit_electr", aplicatie care aduce inregistrarea pe ecran pentru a fi modificata.


        Sursa aplicatiei pentru modificarea unei inregistrari, poate fi vazuta mai jos:



  • Stergerea inregistrarilor



        

  • Relatii intre tabele - Aplicatia "Sondaj"

        Vom analiza in continuare aplicatia "Sondaj" care utilizeaza o baza de date compusa din tabele care se afla in diverse relatii.

        Tabela sondaj contine intrebarile sondajului si are urmatoarea structura:




        De exemplu tabela sondaj poate fi populata cu date de felul:




        Tabela v_sondaj contine variantele de raspuns la intrebarile sondajului si are urmatoarea structura:




        De exemplu tabela v_sondaj poate fi populata cu date de felul:




        In acest moment, se poate realiza un sondaj de opinie daca realizam o relatie "one to many" intre cele doua tabele, de forma:




        Frazele de tip "Select" devin mai complicate, astfel pentru a afisa raspunsul la un sondaj cu avand id=$id, avem o fraza de selectie de genul:

    $query = "SELECT sondaj.intrebare, v_id, cod_rasp, v_rasp FROM sondaj, v_sondaj WHERE sondaj.sondaj_id=v_sondaj.sondaj_id 
    AND v_sondaj.sondaj_id=$id";
    


        Daca dorim sa transformam aplicatia intr-o aplicatie de tip "Quiz", trebuie sa avem si o tabela in care sa pastram raspunsurile de la fiecare utilizator
        Tabela r_sondaj contine raspunsurile utilizatorilor la intrebarile "Quiz" si are urmatoarea structura:




        De exemplu tabela r_sondaj poate fi populata cu date de felul:




        Tabela users contine utilizatrii care raspund la intrebarile sondajului.
        Tabela sectii contine sectiile de care apartin utilizatrii.




        Relatiile dintre tabele fiind exemplificate mai jos:




        Dupa cum se vede in imaginea de sus, tabela sectii este tabela parinte aflata in relatia "one to many" cu tabela users . Campul sectia_id din tabela users se numeste cheie straina. Tabela r_sondaj se afla in relatia "one to many" cu tabelele users , sondaj , v_sondaj prin cheiele straine user_id, sondaj_id respectiv cod_rasp.

        Fraza "Select" pentru a afisa raspunsul la un "Quiz" cu avand id=$id, fiind:

    $query = "SELECT r_id, sectii.denum_s, users.user_id, users.sectia_id, users.first_name, users.last_name, users.email, 
    v_sondaj.v_rasp, coment FROM r_sondaj, v_sondaj, users, sectii WHERE  r_sondaj.sondaj_id=$s_id 
    AND r_sondaj.user_id=users.user_id  AND users.sectia_id=sectii.sectia_id 
    AND r_sondaj.sondaj_id=v_sondaj.sondaj_id AND r_sondaj.cod_rasp=v_sondaj.cod_rasp 
    ORDER BY $order_by LIMIT $start, $display";		
    


    Utilizare MySQL in achizitia si monitorizarea de date in pagini WEB

        Majoritatea aplicatiilor pentru achizitia si monitorizarea de date in pagini WEB utilizeaza o baza de date pentru stocarea datelor achizitionate cat si pentru afisarea acestora in pagini WEB. Baza de date este folosita deci, pe post de tampon de date. Achizitia de date nu se poate face utilizand medii de programare pentru dezvoltarea aplicatiilor WEB deoarece, aplicattiile de achizitii date si control, presupun conectarea la un sistem fizic de achizitie si comanda. Montorizarea si afisarea datelor in pagini WEB in schimb, se poate face folosind medii de programare pentru dezvoltarea aplicatiilor WEB cu conditia ca datele sa fie accesate dintr-o baza de date sau utilizand servicii WEB.

        Sa presupunem ca avem un sistem de achizitie date realizat pe baza unui sistem realizat cu Arduino UNO


        Sistemul de achizitie dispune de 5 intrari analogice 4 digitale si 8 iesiri digitale, conectate astfel:

  • Comanda pentru citirea simultana a celor cinci canale analogice este:Ai
  • Comanda pentru citirea unei intrari analogice este:Ai unde i=0..4,
  • Comanda pentru inscrierea celor 9 iesiri digitale este On unde n este numarul in zecimal care va fi afisat in binar pe cele 8 iesiri digitale si in sfarsit comanda D1 pentru citirea unui numar zecimal care codifica cele 4 intrari digitale.
  • Aplicatia multiio

        Vom folosi sistemul de achizitie pentru a realiza o aplicatie web pentru achizitia si monitorizarea de date in pagini WEB

        Aplicatia se compune din:
    1. componenta de care comunica cu sistemul de achizitie si salveaza datela intr-o baza de date



    2. aplicatia web



         Componenta de care comunica cu sistemul de achizitie, salveaza datela intr-o baza de date folosind o conexiune MySQL.

  • Instalarea unei conexiuni MySQL

         Vom realiza in continuare o aplicatie de achizitie si monitorizare date care utilizeaza sistemul de achizitie date si transfera datele achizitionate intr-o baza de date utilizand o conexiune MySQL.
         Aplicatia de achizitie va fi realizata in Visual C# iar aplicatia pentru afisare in pagini WEB va fi realizata in PhP. Datele vor fi stocate intr-o baza de date de tip MySQL. Sa presupunem ca achizitionam 5 parametri analogici cu comanda AA apoi ii pastram intr-o tabela numita t_points , tabela care face parte din baza de tate de tip MySQL cons_el



        Pentru crearea tabelei numita "t_points" vom lansa comanda:

    DROP TABLE IF EXISTS `t_points`;
    CREATE TABLE `t_points` (
      `tp_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
      `tp_cod` varchar(7) NOT NULL DEFAULT 'TP',
      `time_ac` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
      `val` decimal(10,2) NOT NULL DEFAULT '0.00',
      `u_m` varchar(9) NOT NULL DEFAULT 'bar',
      `v_min` decimal(10,2) NOT NULL DEFAULT '0.00',
      `v_max` decimal(10,2) NOT NULL DEFAULT '0.00',
      PRIMARY KEY (`tp_id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=latin1 COMMENT='Puncte de masura presiuni';
    /*!40000 ALTER TABLE `t_points` DISABLE KEYS */;
    INSERT INTO `t_points` (`tp_id`,`tp_cod`,`time_ac`,`val`,`u_m`,`v_min`,`v_max`) VALUES 
     (1,'TP 01','2010-05-01 20:32:07','678.00','bar','0.00','1023.00'),
     (2,'TP 02','2010-05-01 21:50:28','556.00','bar','0.00','1023.00'),
     (3,'TP 03','2010-04-30 12:07:37','449.00','mm col Hg','0.00','1023.00'),
     (4,'TP 04','2010-04-28 16:45:32','215.00','psi','0.00','1023.00'),
     (5,'TP 05','2010-04-28 16:46:05','469.00','bar','0.00','1023.00'),
     (6,'TP 06','2010-04-28 16:37:07','656.00','bar','0.00','1023.00'),
     (7,'TP 07','2010-04-28 16:37:40','656.00','bar','0.00','1023.00');
    /*!40000 ALTER TABLE `t_points` ENABLE KEYS */;
    /*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
    /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
    /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
    /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
    /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
    /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
    /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
    


         Se creaza un utilizator "student" cu parola "psw"

    
    GRANT SELECT, INSERT, UPDATE, DELETE ON cons_el.* TO 'student'@'127.0.0.1' IDENTIFIED BY 'psw';
    

         C++ nu utilizeaza in mod nativ baza de date MySQL, de aceea conexiunea la o baza de date MySQL se face prin utilizarea tehnologiei ODBC (Open Database Connectivity). ODBC furnizeaza un standard pentru metodele si procedurile software API (application programming interface)in vederea utilizarii bazelor de date respectiv pentru utilizarea sistemul de gestiune al bazei de date numit DBMS (database management systems). Utilizarea ODBC asigura independenta fata de limbajul de proogramare, baza de date sau sistemul de operare.
        Majoritatea producatorilor de baze de date ofera drivere pentru conexiuni ODBC. MySQL ofera un astfel de driver ODBC, care se poate descarca de pe site-ul http://dev.mysql.com/downloads/connector/odbc/5.1.html, gazduit de site-ul http://www.mysql.com. De pe acest site se poate dealtfel descarca baza de date MySQL de pe link-ul: http://dev.mysql.com/downloads.

        Dupa descarcarea driver-ului mysql-connector-odbc-5.1.5-win32.msi utilizand link-ul: http://dev.mysql.com/downloads/connector/odbc/5.1.html, se instaleaza prin rularea aplicatiei descarcate, dupa care se intra in :
         Control Panel -> Other Control Panel Options -> DBE Administrator pentru a configura DBE ( Data Base Engine ) si pentru a adauga o noua conexiune, sau altfel spus un "Alias" pentru o noua baza de date. Cu click dreapta ->New, putem alege un driver ODBC. Daca in prealabil am instalat driverul odbc MySQL , acesta trebuie sa se regaseasca in lista. Alegem deci MySQL ODBC 5.1 Driver. si dam numele "Alias-ului " sa zicem "MySQL_citect". Click-dreapta pe numele alias creat->alegem ODBC administrator -> Configure -> Putem sa alegem Serverul bazei de date user-ul si baza de date.
        Pentru Windows 7 instalarea unei conexiuni la o baza de date MySQL se face in mod similar, cu deosebirea ca se intra in: Control Panel -> Systen and Security -> Administrative Tools -> Data Sources (ODBC).



        Se alege din meniu System DSN si prin apasarea butonului "Add" se adauga o noua conexiune.




  • Aplicatia de achizitie date

        Aplicatia C# "Multiio_sql_v00" , foloseste o conexiune MySQL ODBC :

        Pentru a realiza conectarea la MySQL si actualizarea datelor s-au folosit:

    
    // utilizare Clasa Odbc
    
    using System.Data.Odbc;
    
    //definire string de conectare:
    
    static String myConnString = "driver={MySQL ODBC 5.1 Driver};server=127.0.0.1;database=cons_el;uid=student;pwd=psw;"; //local
    	            
    // Citire date din baza de date
    
    String mySelectQuery;
    OdbcConnection myConnection;
    OdbcCommand myCommand;
    OdbcDataReader myReader;
    mySelectQuery = "SELECT * FROM ... WHERE ...";
    myConnection = new OdbcConnection(myConnString);         
    myCommand = new OdbcCommand(mySelectQuery, myConnection);
    myConnection.Open();
    myReader = myCommand.ExecuteReader();
    myReader.Close();
    myConnection.Close();
     
    //Scriere date in baza de date
    
    mySelectQuery = "UPDATE sitef SET ... WHERE ....";
    myConnection = new OdbcConnection(myConnString);
    myCommand = new OdbcCommand(mySelectQuery, myConnection);
    myConnection.Open();
    myReader = myCommand.ExecuteReader();
    myReader.Close();
    myConnection.Close();
     
    

  • Aplicatia de monitorizare

        In lipsa sistemului de achizitie date, am putea realiza o aplicatie in php care sa modifice valorile tp si o aplicatie php care sa modifica starea actuatoarelor:





  • Aplicatia web sensor

        In aplicatiile anterioare, achizitia de date se realizeaza prin intermediul unui sistem hardware conectat la calculator. Vom utiliza pentru urmatoarea aplicatie un sistem de achizitie si transfer date pe net bazat pe circuitul ESP8266 conectat la un controler Arduino. Circuitul ESP8266 permite conectarea la un router wireless, realizandu-se astfel conexiunea unui controler care achizitioneaza date la un web-server care transmite datele intr-o baza de date.





        Aplicatia client se conecteaza la baza de date in care web-serverul pastreaza datele primite de la controler-ul de achizitie date.