ADO.NET - note de curs pentru disciplina "Servere de date"

Size: px
Start display at page:

Download "ADO.NET - note de curs pentru disciplina "Servere de date""

Transcription

1 ADO.NET - note de curs pentru disciplina "Servere de date" Pentru lucrul cu sursele de date necesare într-o aplicaţie se poate folosi ADO.NET, care este o ierarhie de clase ce permite gestiunea datelor. In tabelul 1 sunt enumerate aceste clase. Intr-o aplicatie se poate include un obiect din ierarhia Ado.Net prin: selectarea lui din toolbox-ul Data (dacă se lucrează cu Visual Studio, iar stabilirea valorilor pentru proprietăţi se face uşor) prin cod (declararea unei variabile, construirea obiectului, stabilirea de valori pentru proprietăţi, folosirea de metode). Pentru a se putea lucra cu o bază de date este necesară conectarea la aceasta, cu ajutorul unui obiect Connection. După ce o conecţiune s-a deschis cu succes, se poate executa o comandă (instrucţiune SQL) la acestă sursă de date, cu ajutorul unui obiect Command. Extragerea de date din sursa de date se poate realiza cu un obiect DataReader (cu restricţia că datele astfel obţinute se pot folosi numai "forward-only" şi "read-only", adică se poate face parcurgerea numai o dată de la început spre sfârşit şi se pot numai citi date). Datele dintr-o bază de date se pot gestiona şi cu obiecte DataTable construite prin cod sau cu ajutorul obiectelor DataAdapter (obiectele DatTable sunt incluse in obiecte DataSet). Pentru gestiunea bazelor de date se pot folosi următoarele tipuri de drivere: ODBC, unde bazele de date sunt relaţionale. Există drivere pentru foarte multe surse de date OleDb - prin anumite extensii ale modelului relaţional (unele drivere ODBC au fost rescrise) Drivere scrise (şi optimizate) pentru servere de date: SQL Server, Oracle,... Corespunzător tipului de driver folosit pentru gestiunea sursei de date, există câte patru tipuri de obiecte pentru: Connection, Command, DataReader, DataAdapter (cele care lucrează efectiv cu sursele de date): 1. Pentru o bază de date Microsoft SQL Server: SQLConnection, SQLCommand, SQLDataReader, SQLDataAdapter 2. Pentru o bază de date Oracle: OracleConnection, OracleCommand, OracleDataReader, OracleDataAdapter 3. Pentru o bază de date la care accesul se face cu OLE DB: OleDbConnection, OleDbCommand, OleDbDataReader, OleDbDataAdapter 4. Pentru o bază de date la care accesul se face cu ODBC: ODBCConnection, ODBCCommand, ODBCDataReader, ODBCDataAdapter Obs. Pentru gestiunea bazelor de date SQL Server sau Oracle se pot folosi şi obiectele amintite la punctele 3 şi 4. Obiectele Connection se crează, prin cod, folosind constructorul clasei, de ex: Dim conn as New OleDbConnection Proprietăţi şi metode utile pentru obiectele Connection: ConnectionString - şirul de conectare la sursa de date ConnectionTimeout - timp maxim de conectare Open( ) - deschiderea conecţiunii Close( ) - închiderea conecţiunii Dispose( ) - eliberarea spaţiului de memorie ocupat de conecţiune Pentru a se putea deschide o conecţiune la o bază de date sunt necesare anumite informaţii ce se pot preciza în proprietatea ConnectionString. In continuare se dau câteva exemple de astfel de valori pentru conectarea la diferite surse de date. Se observă că la baze de date SQL Server sau Oracle se poate face conectarea prin obiectele de conectare specifice acestor surse de date, sau prin folosirea obiectelor OleDbConnection (apare în şirul de conectare şi o valoare pentru Provider) sau ODBCConnection. Prin folosirea claselor personalizate de acces la bazele de date SQL Server sau

2 Oracle se obţin viteze mai mari de lucru. Sirul de conectare se poate construi cel mai simplu dacă se lucrează în ASP.NET şi conecţiunea se stabileşte interactiv. In şirul de conectare se pot folosi şi valori pentru autentificare: "user id=x;password=y", dacă nu se doreşte un dialog pentru autentificare. Un astfel de sir de conectare se poate construi şi prin cod. Pentru SQL Server: "Persist Security Info=False;Integrated Security=SSPI; database=studenti; server=sql; Connect Timeout=30" Pentru Oracle: "Data Source=Oracle; Integrated Security=yes" Pntru surse de date OLE DB: "Provider=MSDAORA; Data Source=ORACLE;Persist Security Info=False;Integrated Security=yes" "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=d:\bd\Studenti.mdb" "Provider=SQLOLEDB;Data Source=SQL;Integrated Security=SSPI" Pentru surse de date ODBC: "Driver={SQL Server};Server=MyServer;Trusted_Connection=yes;Database= studenti;" "Driver={Microsoft ODBC for Oracle};Server=ORACLE;Persist Security Info=False; Trusted_Connection=yes" "Driver={Microsoft Access Driver (*.mdb)};dbq= d:\bd\studenti.mdb;driverid=790" "Driver={Microsoft Excel Driver (*.xls)};dbq=d:\bd\studenti.xls" "Driver={Microsoft Text Driver (*.txt; *.csv)};dbq=d:\bd" "DSN=dsnname" O conecţiune se poate deschide cu metoda Open( ) şi închide cu metoda Close( ). La deschiderea unei conecţiuni se rezervă o zonă de memorie ce poate fi eliberată prin metoda Dispose(). In continuare se dă un exemplu de lucru prin cod. Pentru a crea obiectul conn este necesar spaţiul de nume System.Data.OracleClient, care se precizează astfel: Pentru ASP.NET: <%@ Import Namespace="System.Data" %> <%@ Import Namespace="System.Data.OracleClient" %> Definire, construire, configurare, deschidere: dim conn as New OracleConnection conn.connectionstring=""data Source=Oracle; Integrated Security=yes;user id=x;password=y " conn.open() Pentru stabilirea conecţiunii se foloseşte un timp maxim de conectare. Valoarea implicită se poate schimba cu proprietatea ConnectionTimeout (dacă în intervalul de timp nu se poate stabili conecţiunea, atunci se generează o excepţie). La o conecţiune deschisă se poate executa o comandă printr-un obiect Command (prefixul: SQL, Oracle, OleDb, ODBC), trebuie să fie acelaşi cu cel al conecţiunii). La început trebuie creat acest obiect: Dim com as New OleDbCommand Printre proprietăţile acestui obiect sunt: CommandText - prin care se precizează comanda ce se execută

3 CommandTimeout - se specifică intervalul de timp în care trebuie să execute comanda. Dacă nu se poate executa în acest interval de timp, se generează o eroare. CommandType - precizează tipul comenzii (cum trebuie interpretat şirul de caractere din proprietatea CommandText). Valoarea acestei proprietăţi poste fi: 1. StoredProcedure - dacă se cere execuţia unei proceduri memorate în baza de date. Eventualii parametrii din procedură se specifică prin Parameters. 2. TableDirect (numai pentru obiect OleDb) - dacă valoarea din CommandText este denumirea unui tabel din baza de date. 3. Text - dacă şirul din CommandText este o instrucţiune SQL. Connection - precizează un obiect conecţiune (la baza de date deschisă de acest obiect se va executa comanda) Dintre metodele unui obiect command amintim: ExecuteNonQuery() - dacă se cere execuţia unei comenzi ce nu furnizează date pentru client (ex. o instrucţiune insert) ExecuteScalar() - dacă instrucţiunea furnizează o singură valoare (un set cu o linie şi o coloană). Poate fi considerată ca o funcţie ce furnizează o valoare, ca în exemplul următor: Dim nrstud As New OleDbCommand nrstud.commandtext="select Count(*) FROM Studenti" nrstud.connection=cons Dim nr As Int32 = CInt(nrstud.ExecuteScalar()) ExecuteReader() - dacă va rezulta un obiect DataReader Cancel() - pentru anularea execuţiei comenzii Atunci când se cere execuţia unei comenzi (cu un obiect Command) se precizează o instrucţiune SQL, un nume de procedură, un nume de tabel în proprietatea CommandText. In comandă pot să apară şi parametri. Un astfel de parametru: are un nume şi este precedat de "@" pentru SQLCommand (exemplu: "Select * from studenti where sectia=@sectia and anstudiu=@an") are un nume şi este precedat de ":" pentru OracleCommand (exemplu: "Select * from studenti where sectia=:sectia and anstudiu=:an") este precizat prin "?" în OleDbCommand sau OdbcCommand (exemplu: "Select * from studenti where sectia=? and anstudiu=?") Un obiect Command are o colecţie de parametri, care formează colecţia Parameters. In funcţie de tipul comenzii (SQL, Oracle, OleDb, ODBC), colecţia Parameters conţine obiecte de tipul următor pentru fiecare parametru folosit în comandă (instrucţiune SQL sau parametru de intrare/ieşire, sau valoare, pentru o procedură memorată): SQLParameter, OracleParameter, OleDbParameter, sau OdbcParameter. Un astfel de obiect trebuie creat (cu un nume sau cu o poziţie în colecţia Parameters), să i se precizeze un tip (şi eventual lungimea) pentru valori, direcţia în care va fi folosit. Acest lucru se poate realiza prin constructorul clasei (ca parametri la constructor putem avea, în această ordine: numele, tip, lungime, sourcecolumn,...) sau prin constructor şi proprietăţi. Dintre proprietăţile acestor obiecte amintim: ParameterName - numele parametrului (pentru SQLParameter, OracleParameter) Tipul parametrului: OracleType, SQLType, OleDbType, ODBCType - tipul valorilor parametrului şi depinde de tipul obiectului. Valoarea trebuie calificată cu OracleType, SqlDbType, OleDbType, sau ODBCType. Dintre valori amintim: Char, Integer sau Int32, Single sau Float, VarChar, etc. Direction - modul în care este folosit parametrul: Input (parametru de intrare), InputOutput (parametru de intrare/iesire), Output (parametru de iesire), ReturnValue (valoare dată de o procedura memorată) IsNullable - parametrul poate avea sau nu valori nedefinite Size - lungime maxima in octeti Precision - numarul total de cifre pentru valoare

4 Scale - numarul de cifre zecimale pentru valoarea Value - valoarea parametrului Colecţia Parameters are, printre altele, şi următoarele proprietăţi şi metode: Count numarul de parametri din colectie Add (obiectparametru) adaugarea parametrului la colecţie Clear ( ) sterge toţi parametrii din colectie Contains (obiectparametru sau numeparametru) - daca colectia contine parametrul specificat Remove (obiectparametru) elimina parametrul specificat din colectie Observaţie. Ordinea de adăugare a parametrilor în colecţie precizează şi indexul pe care se memorează. Acest lucru este important la obiectele OleDbParameter, sau OdbcParameter, unde parametri nu se precizează prin nume ci prin poziţia pe care apar în CommandText. Exemplu de folosire: Dim comi as New OleDbCommand comi.commandtext="insert into studenti(nrmatricol,nume,prenume,grupa) values (?,?,?,?)" comi.parameters.add("", OleDbType.Char, 10) comi.parameters(0).value="1234" comi.parameters.add("", OleDbType.Char, 20) comi.parameters(1).value="popescu" comi.parameters.add("", OleDbType.Char, 20) comi.parameters(2).value="ioan" comi.parameters.add("", OleDbType.Char, 3) comi.parameters(3).value="xxx" comi.connection=cons comi.executenonquery() Un obiect DataReader (construit cu metoda ExecuteReader a unui obiect Command): Dim s as OleDbDataReader = com.executereader() se poate folosi pentru parcurgerea o singură dată a unei mulţimi de date. Există o linie curentă în obiect (deci din sursa de date se află în memorie o singură linie), care iniţial este prima linie. Trecerea la următoarea linie se face cu metoda Read (această metodă dă valoarea false dacă nu există o astfel de linie). In linia curentă există un număr de coloane (câmpuri), precizat de proprietatea FieldCount. O coloană de pe o anumită poziţie se poate folosi cu proprietatea Item. O astfel de coloană are o valoare ce se poate obţine cu o mulţime de metode, după tipul valorii. Amintim metodele: GetSQLString (sau GetString pentru obiectul OleDbDataReader) - care furnizează valoarea coloanei ca un şir de caractere, GetFloat, GetChar, GetDateTime, etc. Denumirea coloanei se poate afla cu metoda GetName(index). Cu metoda IsDBNull se află dacă valoarea coloanei este null sau nu. Cu metoda Close( ) se poate închide obiectu. Valorile obţinute într-un obiect DataReader se pot folosi în două feluri: 1. Prin parcurgerea mulţimii de valori şi extragerea lor în pagina html generată pentru client (de exmplu într-un control table, unde fiecare linie din mulţimea de date va genera o linie în table). In acest fel se poate controla foarte uşor modul de extragere a datelor. 2. La ASP.NET: prin legarea datelor de un control de server DataList sau DataGrid. Acest mod de folosire este foarte avantajos deoarece nu trebuie scris mult cod, se precizează controlul de server folosit, iar pentru acest control se fac următoarele două acţiuni (prin cod, de exemplu în evenimentul Load pentru pagina): la proprietatea DataSource se atribuie obiectul DataReader, după care se apeleadă metoda DataBind (pentru control). Cu obiectul DataSet din ADO.NET se poate gestiona o mulţime de date (o baza de date) considerată că se păstrează în memoria internă (deci fără legătură cu sursa de date). In acest caz datele se copiază de pe suport în memoria internă şi după aceasta nu mai este necesară o conecţiune la sursa de date.

5 După crearea obiectului DataSet: Dim s As DataSet = New DataSet("dataset1") se pot adăuga obiecte DataTable, care reprezintă o mulţime de înregistrări (păstrate în memoria internă) dintr-o anumită sursă de date. La un DataSet se pot adăuga obiecte DataTable din surse diferite de date. Intre două obiecte DataTable se poate defini o legătură (asemănător unei legături prin cheie externă într-o bază de date) printr-un obiect DataRelation. DataSet DataTable DataTable SelectCommand DataAdapter InsertCommand DeleteCommand UpdateCommand Baza de date Dintre proprietăţile şi metodele clasei DataSet amintim: DataSetName - numele obiectului Tables - colecţia de tabele (obiecte DataTable) inclusă în obiect Relations - colecţia de relaţii (obiecte DataRelation) dintre tabele Clear( ) - şterge toate datele din toate tabelele incluse în obiect Un obiect DataSet poate fi tipizat (typed) sau netipizat (untyped). Deosebirea dintre cele două tipuri de obiecte constă în modul de referire la tabelele incluse şi la coloanele acestor tabele: Intr-un DataSet netipizat tabelele şi coloanele sunt gestionate prin intermediul unor colecţii (se foloseşte un index pentru referire), în timp ce la un DataSet tipizat tabele şi coloanele sunt referite ca proprietăţi ale obiectului (de aici avantajele pe care le aduce la lucrul interactiv cu Visual Studio). Exemplu: DataSet1.Tables["Studenti"] DataSet1.Studenti Pentru crearea unui DataSet tipizat trebuie să existe o clasă părinte (din care se obţine noua clasă) Un obiect DataSet conţine o colecţie de obiecte DataTable (tabele obişnuite dintr-o bază de date relaţională). Un obiect DataTable: Se poate crea prin cod. In acest caz se defineşte fiecare coloană din schema tabelului. Un tabel creat în acest fel se poate folosi independent sau să fie inclus într-un DataSet. Se foloseşte un obiect DataAdapter. In acest caz el se va include într-un DataSet. Dintre proprietăţile şi metodele unui obiect DataTable amintim: TableName - numele obiectului Columns - colecţia de coloane din care se compune tabelul Rows - colecţia de linii (înregistrări) incluse în tabel Clear( ) - elimină toate datele din tabel După definirea şi crearea unui obiect DataTable prin cod, acesta nu conţine coloane. Gestiunea coloanelor se poate face cu ajutorul unor obiecte DataColumn, iar adăugarea de linii la tabel se poate realiza cu obiecte DataRow. Un obiect DataColumn are şi următoarele proprietăţi: AllowDBNull - dacă se permite valoarea null Caption - precizează textul pentru capul de coloană

6 ColumnName - numele coloanei DataType - precizează tipul coloanei. Putem avea următoarele tipuri de date: Boolean, Byte, Char, DateTime, Decimal, Double, Int16, Int32, Int64, SByte, Single, String, TimeSpan, UInt16, UInt32, UInt64. Această denumire pentru tipul unei coloane se foloseşte prin intermediul clasei System (de exemplu System.String). Ca valoare a proprietăţii DataType nu se foloseşte o astfel de constantă, ci valoarea obţinută printr-o construcţie de tipul: System.Type.GetType("System.String") DefaultValue - valoarea implicită a coloanei După definirea unui obiect DataColumn, el se poate adăuga la colecţia de coloane a unui DataTable prin: obiectdatatable.columns.add(obiectcoloana). Din lista coloanelor unui tabel se pot elimina coloane cu metoda Remove(numeColoana), iar numărul de coloane se poate determina cu proprietatea Count. După crearea obiectului DataSet este necesară adăugarea de tabele (obiecte DataTable) la DataSet. Această operaţie se poate face astfel: 1. Cu ajutorul obiectelor DataAdapter 2. Construirea prin cod a tabelului şi adăugarea lui la colecţia de tabele, ca în exemplul de mai sus. 3. Folosirea unui document XML 4. Folosirea unui alt obiect DataSet Obiectul DataSet are proprietatea Tables, care precizează colecţia de tabele incluse în obiect. Această colecţie are metodele: Add(DataTable) - pentru adăugarea unui tabel (eventual creat prin cod) Remove(DataTable), sau Remove(numeDataTable) - pentru eliminarea unui tabel din colecţie Clear( ) - elimină toate tabelele Contains(numeDataTable) As Boolean - prezează dacă tabelul cu numele dat este în colecţie Numărul de tabele din colecţie se poate determina cu proprietatea Count. Crearea şi adăugarea unui obiect DataTable la un DataSet, prin cod, se vede în exemplul următor: Dim s As DataSet = New DataSet("dataset1") Dim t as New DataTable("Persoane") Dim c1 as New DataColumn,c2 as New DataColumn c1.columnname="cod" c1.datatype=system.type.gettype("system.string") t.columns.add(c1) c2.columnname="nume" c2.datatype=system.type.gettype("system.string") t.columns.add(c2) s.tables.add(t) Un obiect DataAdapter reprezintă o interfaţă între un DataSet şi o bază de date. Cu ajutorul unui astfel de obiect se poate adăuga un DataTable la un DataSet. Dintre proprietăţile şi metodele acestui obiect amintim numai: SelectCommand - pentru a preciza o comandă care permite generarea unui DataTable Fill(numeDataSet, numedatatable) - care determină datele şi le include ca un obiect DataTable într-un DataSet. Exemple de folosire: Dim da1 As New OleDbDataAdapter da1.selectcommand = com da1.fill(s,"gr243") da1.selectcommand.commandtext="select * FROM studenti where anstudiu=4" da1.selectcommand.commandtype=commandtype.text da1.selectcommand.connection=cons da1.fill(s,"an4") x = "SELECT * FROM studenti where sex='b'"

7 Dim da2 As New OleDBDataAdapter(x, cons) da2.fill(s,"baieti") Un obiect DataAdapter foloseşte un obiect Command pentru a selecta date dintr-o sursă de date şi cu metoda Fill le va trimite într-un DataTable, unde denumirea coloanelor va fi cea determinată de obiectul Command. Dacă în DataTable se doresc alte denumiri de coloane, atunci se poate construi o colecţie de obiecte DataTableMapping (ce va fi valoare pentru proprietatea TableMappings a obiectului DataAdapter) ce definesc corespondenţe între denumirea coloanelor sursă de date şi denumirea coloanelor destinaţie (în DataTable). Datele dintr-un obiect DataTable se pot gestiona (adăugarea de linii, ştergerea de linii, modificarea valorilor) cu ajutorul obiectelor DataRow. Un obiect DataRow trebuie definit, ca în exemplul următor: Dim dr as DataRow dr=obiectdatatable.newrow() după care se pot face atribuiri de valori la diferitele coloane: dr("nume_coloana") = valoare dr(index_coloana) = valoare dr(obiectdatacolumn) = valoare După definirea unui obiect DataRow şi atribuirea de valori la diferitele coloane, el se poate adăuga la colecţia de linii a unui DataTable prin: numedatatable.rows.add(obiectlinie). O linie dintr-un DataTable se poate şterge din colecţia Rows de linii cu metoda Remove(DataRow), sau se poate folosi metoda Delete() pentru obiectul DataRow. Stergerea tuturor liniilor se poate face prin metoda Clear(). Numărul de linii din colecţia Rows se poate determina prin metoda Count. Colecţia Rows are şi metoda Find ce permite căutarea unei linii după valorile coloanelor incluse în cheia primară. Colecţia Rows se poate folosi pentru parcurgerea înregistrărilor dintr-un DataTable, ca în exemplul următor: 'Parcurgere folosind colectia Rows cu "for each" Dim r as DataRow for each r in ds.tables("tabel1").rows... next 'Parcurgere folosind colectia Rows cu indice Dim i as integer for i=0 to ds.tables("tabel1").rows.count-1 r=ds.tables("tabel1").rows(i)... Next Pentru stabilirea unei legături între două tabele dintr-un DataSet (legătură de tipul 1:n între un tabel "părinte" şi un tabel "fiu") se foloseşte un obiect DataRelation. O astfel de relaţie este stabilită prin precizarea a câte unei mulţimi de coloane din cele două tabele amintite, care se compară prin egalitate (coloană din tabelul parinte cu coloană corespunzătoare în tabelul fiu). O astfel de legătură se poate folosi într-un mod analog cheii externe dintr-o bază de date obişnuită. Un obiect DataRelation are şi următoarele proprietăţi: RelationName - numele legăturii ParentTable - tabelul parinte (obiect DataTable) ChildTable - tabelul fiu ParentColumns - şirul de coloane din tabelul parinte folosit pentru legătură ChildColumns - şirul de coloane din tabelul fiu folosit pentru legătură După declararea unei variabile de tipul DataRelation: Dim leg as DataRelation se va construi un obiect de acest tip prin constructorul DataRelation astfel:

8 leg=new DataRelation("leg1",c1,c2) unde "leg1" este numele legăturii, iar c1 şi c2 sunt coloane (sau şiruri de coloane) din tabelul parinte şi respectiv fiu. Exemplu de folosire: Dim leg as DataRelation c1=s.tables("sectii").columns("cod") c2=s.tables("gr243").columns("sectia") leg=new DataRelation("leg1",c1,c2) s.relations.add(leg) Plecând de la o înregistrare din tabelul părinte se pot determina înregistrările corespunzătoare din tabelul fiu prin metoda GetChildRows(obiectDatatRelation) As DataRow(). Exemplu de folosire: Dim rp as DataRow,rf as DataRow for each rp in s.tables("sectii").rows... for each rf in rp.getchildrows("legbaieti")... next... Next Intr-o bază de date se doreşte ca datele să fie corecte, adică să îndeplinească anumite restricţii. Intr-un DataSet se pot defini următoarele două tipuri de restricţii: Restricţii de cheie unică (valorile unei coloane sau a unei mulţimi de coloane să fie unice) prin obiecte UniqueConstraint. Această restricţie se asociază tabelului pentru care se defineşte cheia unică. Una dintre cheile unice poate fi aleasă ca şi cheie primară. Restricţia de cheie externă (precizarea unei reguli de actualizare a datelor dintr-un tabel "fiu" atunci când înregistrarea corespunzătoare din tabelul "părinte" este ştearsă sau modificată). Aceste restricţii se gestionează prin obiecte ForeignKeyConstraint şi se asociază tabelului "fiu". La definirea unui obiect DataRelation se adaugă automat următoarele restricţii: Restricţia de cheie unică pentru tabelul "parinte" Restricţia de cheie externă pentru tabelul "fiu" Mulţimea tuturor restricţiilor definite într-un DataTable formează colecţia Constraints. Pentru această colecţie există metodele Add, Remove, Clear, şi proprietatea Count. Un obiect DataRow poate să nu fie încă ataşat colecţiei Rows a unui DataTable, sau poate să fie o linie din această colecţie. Un astfel de obiect are o anumită stare, care se poate obţine cu proprietatea RowState: Unchanged - linia nu a fost schimbată Added - linia este nouă (a fost adăugată) Deleted - linia a fost marcată pentru ştergere Modified - linia a fost modificată Detached - linia nu aparţine unei colecţii Rows Dacă operaţiile de adăugare şi ştergere se precizează uşor prin apelul unei metode, pentru editare pot apare mai multe instrucţiuni. Inceputul operaţiilor de editare (şi trecerea liniei în starea "edit") se face prin metoda BeginEdit(). La sfârşitul operaţiilor de editare este necesară o metodă prin care se precizează că se termină editarea: EndEdit(), sau se anulează toate atribuirile făcute: CancelEdit(). Intre aceste apeluri de metode se anulează toate evenimentele care eventual apar la schimbarea unor valori, de exemplu verificarea restricţiilor de integritate. Modificările asupra liniilor se pot efectua fără includerea lor între metodele amintite mai sus, dar atunci evenimentele amintite se generează.

9 Pentru a se putea efectua aceste operaţii, un obiect DataRow trebuie să păstreze mai multe valori (versiuni ale datelor). Versiunile posibile se pot specifica printr-o valoare din colecţia de valori DataRowVersion: Original - valoarea iniţială a liniei, care nu există pentru starea Added Current - valoarea curentă a liniei, care nu există pentru starea Deleted Proposed - pentru liniile ne-incluse într-o colecţie Rows, sau în timpul editării (după BeginEdit şi înainte de EndEdit/CancelEdit) Default - care este una din valorile Original (pentru starea Deleted), Current (pentru una din stările Added, Modified, Unchanged), sau Proposed (pentru starea Detached) Cu metoda HasVersion(tip_versiune) as boolean - se poate determina dacă o linie are o anumită versiune sau nu. Valoarea versiunii dorite (dacă există) se poate determina astfel: obiectdatarow(nume_coloana, DataRowVersion.tip) obiectdatarow(index_coloana, DataRowVersion.tip) obiectdatarow(obiectdatarow, DataRowVersion.tip) O linie dintr-un DataTable poate să fie modificată (printr-un şir de atribuiri), adăugată, ştearsă. Aceste modificări care se fac pot să fie: păstrate în DataTable, situaţie care se precizează cu metoda AcceptChanges. Dacă există un apel BeginEdit care nu s-a încheiat cu EndEdit/CancelEdit, atunci se apelează implicit un EndEdit. anulate, care se precizează cu metoda RejectChanges. Dacă există un apel BeginEdit care nu s-a încheiat cu EndEdit/CancelEdit, atunci se apelează implicit un CancelEdit. Aseste două metode pot să fie folosite pentru o linie (obiect datarow), un obiect DataTable, sau un obiect DataSet şi se aplică la obiectul DataRow, la toate obiectele DataRow din obiectul DataTable, sau la toate liniile din toate tabelele incluse în DataSet. Efectul acestor două metode asupra versiunii şi stării unei linii este: AcceptChanges schimbă starea liniilor la Unchanged, liniile cu starea Deleted sunt eliminate, versiunea Original se schimbă cu Current RejectChanges schimbă starea liniilor la Unchanged, liniile cu starea Added sunt eliminate, versiunea Current se schimbă cu Original Obiecele DataSet şi DataTable au şi metoda GetChanges([stareInregistrare]) care crează un nou obiect de acelaşi tip (DataSet sau DataTable) ce conţine taoate înregistările modificate sau numai cele care s-au modificat într-un anumit mod (valoare a argumentului, DataRowState), de la crearea obiectului sau de la ultimul apel a metodei AcceptChanges.. Inregistrările incluse într-un DataTable depind de instrucţiunea Select care le-a generat şi care precizează starea iniţială a obiectului. La obiect se pot adăuga linii, se pot şterge linii, sau se pot modifica valorile unor coloane din anumite linii, rezultând în fiecare moment o stare curentă a obiectului DataTable. In aplicaţii aceleaşi obiect DataTable trebuie parcurs în diferite feluri, iar întro astfel de operaţie liniile ar trebui sortate după diferite criterii şi eventual să se folosească diferite condiţii de filtrare pentru linii. O astfel de parcurgere se poate realiza astfel: Prin folosirea colecţiei Rows, care este o colecţie de obiecte DataRow Prin folosirea metodei DataTable.Select([Conditie_filtrare[, Criteriu_sortare[, RowStateFilter]]]), Cu obiecte DataView. Un astfel de obiect se poate crea prin constructorul clasei plecând de la un obiect DataTable, în felul următor New DataView (DataTable[, Conditie_filtrare[, Criteriu_sortare[, RowStateFilter]]]), unde: Conditie_filtrare este de tipul: "nume_coloana operator valoare" Criteriu_sortare este o lista de elemente de forma: nume_coloana [ASC DESC], cu ASC implicit

10 RowStateFilter (atât la metoda Select de la DataTable, cât şi de la crearea obiectului DataView) precizează datele care vor fi incluse în obiect (după filtrare şi sortare) şi este o constantă obţinută prin operaţii cu or pe biţi asupra următoarelor valori: Valoarea Descriere Val. echivalenta DataViewRowState.Added Liniile adăugate 4 DataViewRowState.CurrentRows Liniile curente din DataTable (nemodificate, 22 noi, modificate) DataViewRowState.Deleted Liniile şterse 8 DataViewRowState.ModifiedCurrent Liniile modificate, dar cu valorile curente 16 DataViewRowState.ModifiedOriginal. Liniile modificate, dar cu valorile initiate 32 DataViewRowState.None Nimic 0 DataViewRowState.OriginalRows Liniile originale (inclusiv cele şterse şi 42 modificate) DataViewRowState.Unchanged. Liniile nemodificate 2 Un obiect DataView poate fi considerat ca o colecţie de obiecte de tipul DataRowView. Dintre proprietăţile şi metodele clasei DataView amintim: AllowDelete, AllowEdit, AllowNew - valori booleene ce determină/precizează dacă se pot efectua operaţiile de ştergere, modificare, adăugare în DataView Count - dă numărul de linii din DataView RowFilter - un şir de caractere ce precizează criteriul de filtrare a înregistrărilor RowStateFilter - versiunea curentă a datelor din DataView (corespunzător tabelului de mai sus) Sort - şirul de caractere ce precizează criteriul de sortare Table - obiectul DataTable la care este asociat obiectul DataView AddNew() As DataRowView - permite adaugarea unei linii noi în DataView După ce un obiect DataView a fost creat şi i s-au stabilit proprietăţile, el poate fi folosit pentru Parcurgerea colecţiei de linii pe care le conţine Determinarea înregistrărilor care îndeplinesc o condiţie Efectuarea unor modificări în obiectul DataTable la care este ataşat Căutarea înregistrărilor cu anumite valori pentru coloanele folosite la sortare Exemplu de folosire a metodei Select: 'Parcurgerea cu Select Dim vr as DataRow() vr=ds.tables("tabel1").select("","prenume") for each r in vr... Next Exemplu de folosire a obiectului DataView: 'Crearea unui DataView Dim dv as DataView = New DataView(ds.Tables("tabel1")) 'Parcurgere folosind colectia DataView Dim r as DataRowView Dim i as integer i=0 for each r in dv i=i+1 '... i.tostring+". "+r("nume")+" "+r("prenume")+"") next

11 dv.sort="prenume" dv.rowfilter="nume<'i'" i=0 for each r in dv i=i+1 '... i.tostring+". "+r("nume")+" "+r("prenume")+"") next for i=0 to dv.count-1 '.. ((i+1).tostring+". "+dv(i)("nume")+" "+dv(i)("prenume")+"") next Dacă la un obiect DataView există un criteriu de sortare (proprietatea Sort are cel puţin o coloană), atunci se pot folosi metodele următoare pentru căutarea înregistrărilor ce au anumite valori pentru cheile de sortare. Metoda Sort furnizează indexul primei înregistrări, iar metoda FindRows fornizează o mulţime de înregistrări: Find(Object) as Integer, sau Find(Object()) as Integer Dacă există o singură coloană folosită pentru sortare, atunci metoda dă indexul primei înregistrări cu valoarea argumentului pentru coloana de sortare, sau -1 dacă o astfel de înregistrare nu există. Dacă există mai multe coloane folosite pentru sortare, atunci valorile pentru aceste coloane se vor pune într-un vector, ce va fi trecut ca argument. FindRows(Object) as DataRowsView(), sau FindRows (Object())as DataRowsView(), care furnizează mulţimea tuturor înregistrărilor ce verifică criteriul de căutare. Exemple de folosire a acestor metode: Dim dv as DataView Dim c as DataColumn dv=new DataView(t) dv.sort="grupa" dim n as integer n=dv.find("243") ' dv.sort="nume,prenume" dim a(1) as Object a(0)="pop" a(1)="ioan" n=dv.find(a) ' dv.sort="nume" Dim r as DataRowView for each r in dv.findrows("pop")... Next Un obiect DataView este o colecţie de obiecte de tipul DataRowView. Un obiect DataRowView are şi următoarele proprietăţi: Row - obiectul DataRow corespunzător din DataTable RowVersion - versiunea înregistrării din DataTable folosită BeginEdit, EndEdit, CancelEdit, Delete - cu semnificaţiile de la DataView La folosirea unui obiect DataAdapter pentru crearea unui DataTable (inclus într-un DataSet) se foloseşte un obiect SelectCommand (un obiect Command cu o instrucţiune Select pentru definirea liniilor ce se vor include în DataTable). Fiecare linie din DataTable este un obiect DataRow, iar acest obiect are o anumită stare ce se poate consulta prin proprietatea RowState. Această proprietate poate lua valorile: Added, Deleted, Modified, Unchaged (calificată cu DateRowState.) după cum linia respectivă a fost adaugată, ştearsă, modificată, neschimbată. Obiectul DataAdapter are metoda Update() care examinează starea fiecărei linii şi salvează toate modificările în baza de date. Pentru a se putea face aceste salvări sunt necesare instrucţiuni corespunzătoare stărilor liniilor:

12 Dacă starea este Added, atunci e necesar un obiect InsertCommand pentru obiectul DataAdapter, care este un obiect Command şi o instrucţiune (în mod normal Insert) ce permite adăugarea unei înregistrări în baza de date corespunzătoare liniei adăugate în DataTable Dacă starea este Deleted, atunci e necesar un obiect DeleteCommand pentru precizarea înregistrării din baza de date care se şterge Dacă starea este Modified atunci e necesar un obiect UpdateCommand care specifică o instrucţiune Update ce se va executa la baza de date. Fiecare dintre aceste trei obiecte trebuie să fie configurate, deci să se precizeze proprietăţile: Connecţion, CommandText, CommandType, Properties. Aceste comenzi pot să se refere la mai multe linii (cele modificate, adăugate, şterse) din DataTable, iar pentru o astfel de mulţime de înregistrări se va preciza o singură comandă, deci sunt necesari parametri în aceste comenzi (deci este necesară colecţia Parameters) care pentru o înregistrare curentă să poată genera o comandă de modificare a sursei de date. O valoare ce se foloseşte în comenzile InsertCommand, DeleteCommand, sau UpdateCommand se referă la o linie curentă şi se va preciza cu un parametru (@nume, :nume,? - în funcţie de tipul comenzii DataAdapter), iar pentru fiecare parametru sunt necesare proprietăţile următoare (unele explicate la colecţia Parameters s-au dat la descrierea obiectelor Command): ParameterName, DBType, Precision, Scale, Size, Direction, SourceColumn - numele coloanei sursă a valorii parametrului SourceVersion - versiunea valorii (calificata cu DataRowVersion)care se ia pentru parametru (o coloană are mai multe "versiuni" pentru valoare) Value - o valoare explicită pentru parametru, care are prioritate faţă de SourceColumn Dacă obiectele InsertCommand, DeleteCommand, UpdateCommand nu există la DataAdapter, atunci se generează o execepţie. In anumite cazuri particulare de instrucţiuni Select în SelectCommand se pot genera instrucţiuni de modificare (pentru obiectele InsertCommand, DeleteCommand, UpdateCommand) cu ajutorul obiectelor CommandBuilder. Astfel de instrucţiuni se pot genera automat dacă instrucţiunea Select, ce precizează înregistrările din DataTable, foloseşte un singur tabel din baza de date şi există cel puţin o coloană care este cheie primară sau cheie unică în acest tabel sursă de date (deci pentru o înregistrare selectată în DataTable există o singură înregistrare în tabelul sursă din baza de date şi care se poate determina prin valoarea unei astfel de chei).

13 Tabelul 1. Clasele ADO.NET Class Description SQLConnection OleDbConnection OracleConnection ODBCConnection SQLCommand OleDbCommand OracleCommand ODBCCommand SQLDataReader OleDbDataReader OracleDataReader ODBCDataReader Use a Connection object to create a connection to a data source. You can open a connection to a data source and keep this connection object open for as long as you need it. Use a Command object to submit SQL statements to a back-end data source. You can use SQL or calls to stored procedures for all data retrieval and modification. You can use the ExecuteReader method to return a DataReader object, ExecuteNonQuery to run an update/delete/insert query, or ExecuteScalar to return a single value as the result of the SQL you've provided. The DataReader class provides a forward-only, read-only cursor (sometimes called a fire hose cursor) that reads data from a data source in the most efficient manner available to ADO.NET. This class is excellent for filling DataGrids, list boxes, and combo boxes. Under the covers, the DataAdapter object uses a DataReader to fill the contents of a DataSet. SQLDataAdapter The DataAdapter object provides four Command object properties: one each for OleDbDataAdapter a Select, Update, Insert, and Delete command. You'll use a DataAdapter OracleDataAdapter object's Fill method (and its SelectCommand property) to populate a DataSet or ODBCDataAdaptera DataTable object with data from a database. You can use the Update method of the DataAdapter to save changes you've made to a DataSet back to the original data source(s), and the DataAdapter will determine, based on the changes you've made, which of its commands (Update, Insert, or Delete) to use. DataSet DataTable DataRelation DataView DataSet objects can contain one or more DataTable objects, much like an in memory database. You have the ability to set relationships between these DataTable objects. You can modify the data in a DataSet, and DataSet objects can hold both the original set of data and any modifications made to this data. You can then use other ADO.NET objects to submit these changes back to the data source. This class does not provide any means to communicate directly with any type of data source that functionality is provided by the DataAdapter objects. DataTable objects hold rows of data. Each row is made up of columns, and each column can hold some discreet data. The DataTable object provides a collection of DataRow objects and a collection of DataColumn objects. Each DataRow object contains the data stored within a single row in the DataTable, and DataColumn objects provide information about the schema of the DataTable. Like the DataSet object, DataTable objects have no means to communicate with any type of data source. You can add data to the DataTable object programmatically, one row at a time, or you can use the Fill method of a DataAdapter object to fill a DataTable with data from a data source. Represents a parent/child relationship between two DataTable objects. Instances of this class provide a specific view of a DataTable. This object is frequently used to set sort orders or filters on a DataTable object.

14 SQLCommandBuilder When you work with a DataAdapter object, you'll need to provide Insert, OleDbCommandBuilder Update, and Delete commands, in addition to a Select command, if you want OracleCommandBuilder to modify data. Although you can supply the SQL expressions yourself, it ODBCCommandBuilder would be easier if someone else could do the work. That's the job of the CommandBuilder object, which can generate Insert, Update, and Delete commands based on the Select command you supply. A DataAdapter can then use these commands to update the original data source(s). (You should note that the CommandBuilder does build commands for you, but the SQL it creates won't be optimized and will almost always include more fields than you might need.) Tabelul 2. Spaţiile de nume pentru gestiunea datelor: System.Data - consists of the classes that constitute the ADO.NET architecture, which is the primary data access method for managed applications. The ADO.NET architecture enables you to build components that efficiently manage data from multiple data sources. ADO.NET also provides the tools to request, update, and reconcile data in distributed applications. System.Data.Common - contains classes shared by the.net Framework data providers. Data providers describe a collection of classes used to access a data source, such as a database, in the managed space. System.Xml - classes that provide standards-based support for processing XML. System.Data.OleDb classes that make up the.net Framework Data Provider for OLE DB-compatible data sources. These classes allow you to connect to an OLE DB data source, execute commands against the source, and read the results. System.Data.SqlClient classes that make up the.net Framework Data Provider for SQL Server, which allows you to connect to SQL Server 7.0, execute commands, and read results. The System.Data.SqlClient namespace is similar to the System.Data.OleDb namespace, but is optimized for access to SQL Server 7.0 and later. System.Data.SqlTypes - Provides classes for native data types within SQL Server. These classes provide a safer, faster alternative to other data types. System.Data.Odbc - classes that make up the.net Framework Data Provider for ODBC. These classes allow you to access ODBC data source in the managed space. System.Data.OracleClient - classes that make up the.net Framework Data Provider for Oracle. These classes allow you to access an Oracle data source in the managed space.

Versionare - GIT ALIN ZAMFIROIU

Versionare - GIT ALIN ZAMFIROIU Versionare - GIT ALIN ZAMFIROIU Controlul versiunilor - necesitate Caracterul colaborativ al proiectelor; Backup pentru codul scris Istoricul modificarilor Terminologie și concepte VCS Version Control

More information

Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic

Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Proiect nr. 154/323 cod SMIS 4428 cofinanțat de prin Fondul European de Dezvoltare Regională Investiții pentru viitorul

More information

Titlul lucrării propuse pentru participarea la concursul pe tema securității informatice

Titlul lucrării propuse pentru participarea la concursul pe tema securității informatice Titlul lucrării propuse pentru participarea la concursul pe tema securității informatice "Îmbunătăţirea proceselor şi activităţilor educaţionale în cadrul programelor de licenţă şi masterat în domeniul

More information

Metrici LPR interfatare cu Barix Barionet 50 -

Metrici LPR interfatare cu Barix Barionet 50 - Metrici LPR interfatare cu Barix Barionet 50 - Barionet 50 este un lan controller produs de Barix, care poate fi folosit in combinatie cu Metrici LPR, pentru a deschide bariera atunci cand un numar de

More information

Structura și Organizarea Calculatoarelor. Titular: BĂRBULESCU Lucian-Florentin

Structura și Organizarea Calculatoarelor. Titular: BĂRBULESCU Lucian-Florentin Structura și Organizarea Calculatoarelor Titular: BĂRBULESCU Lucian-Florentin Chapter 3 ADUNAREA ȘI SCĂDEREA NUMERELOR BINARE CU SEMN CONȚINUT Adunarea FXP în cod direct Sumator FXP în cod direct Scăderea

More information

Subiecte Clasa a VI-a

Subiecte Clasa a VI-a (40 de intrebari) Puteti folosi spatiile goale ca ciorna. Nu este de ajuns sa alegeti raspunsul corect pe brosura de subiecte, ele trebuie completate pe foaia de raspuns in dreptul numarului intrebarii

More information

CERERI SELECT PE O TABELA

CERERI SELECT PE O TABELA SQL - 1 CERERI SELECT PE O TABELA 1 STUD MATR NUME AN GRUPA DATAN LOC TUTOR PUNCTAJ CODS ---- ------- -- ------ --------- ---------- ----- ------- ---- 1456 GEORGE 4 1141A 12-MAR-82 BUCURESTI 2890 11 1325

More information

Modalitǎţi de clasificare a datelor cantitative

Modalitǎţi de clasificare a datelor cantitative Modalitǎţi de clasificare a datelor cantitative Modul de stabilire a claselor determinarea pragurilor minime şi maxime ale fiecǎrei clase - determinǎ modul în care sunt atribuite valorile fiecǎrei clase

More information

2. Setări configurare acces la o cameră web conectată într-un router ZTE H218N sau H298N

2. Setări configurare acces la o cameră web conectată într-un router ZTE H218N sau H298N Pentru a putea vizualiza imaginile unei camere web IP conectată într-un router ZTE H218N sau H298N, este necesară activarea serviciului Dinamic DNS oferit de RCS&RDS, precum și efectuarea unor setări pe

More information

Documentaţie Tehnică

Documentaţie Tehnică Documentaţie Tehnică Verificare TVA API Ultima actualizare: 27 Aprilie 2018 www.verificaretva.ro 021-310.67.91 / 92 info@verificaretva.ro Cuprins 1. Cum funcţionează?... 3 2. Fluxul de date... 3 3. Metoda

More information

Procesarea Imaginilor

Procesarea Imaginilor Procesarea Imaginilor Curs 11 Extragerea informańiei 3D prin stereoviziune Principiile Stereoviziunii Pentru observarea lumii reale avem nevoie de informańie 3D Într-o imagine avem doar două dimensiuni

More information

MS POWER POINT. s.l.dr.ing.ciprian-bogdan Chirila

MS POWER POINT. s.l.dr.ing.ciprian-bogdan Chirila MS POWER POINT s.l.dr.ing.ciprian-bogdan Chirila chirila@cs.upt.ro http://www.cs.upt.ro/~chirila Pornire PowerPoint Pentru accesarea programului PowerPoint se parcurg următorii paşi: Clic pe butonul de

More information

Reflexia şi refracţia luminii. Aplicaţii. Valerica Baban

Reflexia şi refracţia luminii. Aplicaţii. Valerica Baban Reflexia şi refracţia luminii. Aplicaţii. Sumar 1. Indicele de refracţie al unui mediu 2. Reflexia şi refracţia luminii. Legi. 3. Reflexia totală 4. Oglinda plană 5. Reflexia şi refracţia luminii în natură

More information

Proceduri stocate. Crearea procedurilor stocate. Varianta 1 În Management Studio se dă clic pe New Query ca în imaginea de mai jos: Fig.

Proceduri stocate. Crearea procedurilor stocate. Varianta 1 În Management Studio se dă clic pe New Query ca în imaginea de mai jos: Fig. Proceduri stocate Crearea procedurilor stocate. Varianta 1 În Management Studio se dă clic pe New Query ca în imaginea de mai jos: Fig. 1 Odată cu deschiderea editorului SQL, apare și bara de instrumente

More information

Textul si imaginile din acest document sunt licentiate. Codul sursa din acest document este licentiat. Attribution-NonCommercial-NoDerivs CC BY-NC-ND

Textul si imaginile din acest document sunt licentiate. Codul sursa din acest document este licentiat. Attribution-NonCommercial-NoDerivs CC BY-NC-ND Textul si imaginile din acest document sunt licentiate Attribution-NonCommercial-NoDerivs CC BY-NC-ND Codul sursa din acest document este licentiat Public-Domain Esti liber sa distribui acest document

More information

Excel Advanced. Curriculum. Școala Informală de IT. Educație Informală S.A.

Excel Advanced. Curriculum. Școala Informală de IT. Educație Informală S.A. Excel Advanced Curriculum Școala Informală de IT Tel: +4.0744.679.530 Web: www.scoalainformala.ro / www.informalschool.com E-mail: info@scoalainformala.ro Cuprins 1. Funcții Excel pentru avansați 2. Alte

More information

:= 950; BEGIN DELETE FROM

:= 950; BEGIN DELETE FROM Cursori în PLSQL La fiecare execuţie a unei instrucţiuni SQL serverul Oracle deschide o zonă de memorie în care este analizată şi executată instrucţiunea. Această zonă de memorie se numeşte cursor. Există

More information

ARBORI AVL. (denumiti dupa Adelson-Velskii si Landis, 1962)

ARBORI AVL. (denumiti dupa Adelson-Velskii si Landis, 1962) ARBORI AVL (denumiti dupa Adelson-Velskii si Landis, 1962) Georgy Maximovich Adelson-Velsky (Russian: Гео ргий Макси мович Адельсо н- Ве льский; name is sometimes transliterated as Georgii Adelson-Velskii)

More information

Proiectarea bazelor de date. PL/SQL Înregistrări și Colecții # 13. Adrian Runceanu

Proiectarea bazelor de date. PL/SQL Înregistrări și Colecții # 13. Adrian Runceanu Proiectarea bazelor de date # 13 PL/SQL Înregistrări și Colecții 2016 Adrian Runceanu www.runceanu.ro/adrian Curs 13 Înregistrări și Colecții Proiectarea bazelor de date 2 Înregistrări și Colecții în PL/SQL

More information

Proiectarea bazelor de date # 11. PL/SQL Funcții în PL/SQL (partea a II-a) Adrian Runceanu

Proiectarea bazelor de date # 11. PL/SQL Funcții în PL/SQL (partea a II-a) Adrian Runceanu Proiectarea bazelor de date # 11 PL/SQL Funcții în PL/SQL (partea a II-a) 2018 Adrian Runceanu www.runceanu.ro/adrian Curs 11 Funcţii în PL/SQL (partea II) Proiectarea bazelor de date 2 Cuprins Funcţii

More information

La fereastra de autentificare trebuie executati urmatorii pasi: 1. Introduceti urmatoarele date: Utilizator: - <numarul dvs de carnet> (ex: "9",

La fereastra de autentificare trebuie executati urmatorii pasi: 1. Introduceti urmatoarele date: Utilizator: - <numarul dvs de carnet> (ex: 9, La fereastra de autentificare trebuie executati urmatorii pasi: 1. Introduceti urmatoarele date: Utilizator: - (ex: "9", "125", 1573" - se va scrie fara ghilimele) Parola: -

More information

Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic

Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Proiect nr. 154/323 cod SMIS 4428 cofinanțat de prin Fondul European de Dezvoltare Regională Investiții pentru viitorul

More information

Update firmware aparat foto

Update firmware aparat foto Update firmware aparat foto Mulţumim că aţi ales un produs Nikon. Acest ghid descrie cum să efectuaţi acest update de firmware. Dacă nu aveţi încredere că puteţi realiza acest update cu succes, acesta

More information

Nume şi Apelativ prenume Adresa Număr telefon Tip cont Dobânda Monetar iniţial final

Nume şi Apelativ prenume Adresa Număr telefon  Tip cont Dobânda Monetar iniţial final Enunt si descriere aplicatie. Se presupune ca o organizatie (firma, banca, etc.) trebuie sa trimita scrisori prin posta unui numar (n=500, 900,...) foarte mare de clienti pe care sa -i informeze cu diverse

More information

Cap.5 Normalizarea relaţiilor

Cap.5 Normalizarea relaţiilor CAPITOLUL 5 NORMALIZAREA RELAŢIILOR Dependenţele de date reprezintă constrângeri care se impun valorilor atributelor unei relaţii şi determină proprietăţile relaţiei în raport cu operaţiile de inserare,

More information

INTEROGĂRI ÎN SQL SERVER

INTEROGĂRI ÎN SQL SERVER INTEROGĂRI ÎN SQL SERVER Principala operaţie efectuată într-o bază de date este operaţia de extragere a datelor, care se realizează cu ajutorul unei clauze SELECT. SELECT Clauza SELECT are o sintaxă foarte

More information

Ghid identificare versiune AWP, instalare AWP şi verificare importare certificat în Store-ul de Windows

Ghid identificare versiune AWP, instalare AWP şi verificare importare certificat în Store-ul de Windows Ghid identificare versiune AWP, instalare AWP 4.5.4 şi verificare importare certificat în Store-ul de Windows Data: 28.11.14 Versiune: V1.1 Nume fişiser: Ghid identificare versiune AWP, instalare AWP 4-5-4

More information

Lucrarea de laborator nr. 4

Lucrarea de laborator nr. 4 Metode merice - Lucrarea de laborator 4 Lucrarea de laborator nr. 4 I. Scopul lucrării Elemente de programare în MAPLE II. III. Conţinutul lucrării 1. Atribuirea. Decizia. Structuri repetitive. 2. Proceduri

More information

Laboratorul 5 Lucrul cu baze de date în Visual Basic.NET

Laboratorul 5 Lucrul cu baze de date în Visual Basic.NET Laboratorul 5 Lucrul cu baze de date în Visual Basic.NET Ce ne propunem astăzi? În laboratorul de astăzi ne propunem să realizăm o aplicaţie de gestiune a datelor studenţilor, date care sunt stocate într-o

More information

5.1 Definirea datelor în SQL

5.1 Definirea datelor în SQL SQL Acronim pentru Structured Query Language Dezvoltat pentru sistemul de gestiune a bazelor de date System R, creat de IBM Research Laboratory, San Jose, California, la sfârşitul anilor 70. SQL a fost

More information

Baza de date: tabele, date. Componentele unei B.D.: tabele, constrangeri, relatii. Entitati ale unei B.D.: formulare, interogari, rapoarte

Baza de date: tabele, date. Componentele unei B.D.: tabele, constrangeri, relatii. Entitati ale unei B.D.: formulare, interogari, rapoarte 1. Introducere ~ Microsoft Access ~ Baze de Date Baza de date: tabele, date. Componentele unei B.D.: tabele, constrangeri, relatii. Entitati ale unei B.D.: formulare, interogari, rapoarte 2. Crearea unei

More information

Proprietăţi obiectual-relaţionale în standardul SQL prof. dr. ing. Mircea Petrescu

Proprietăţi obiectual-relaţionale în standardul SQL prof. dr. ing. Mircea Petrescu Proprietăţi obiectual-relaţionale în standardul SQL prof. dr. ing. Mircea Petrescu Tipuri construite interne (build-in) Din faza iniţială a existenţei sale, SQL a permis utilizarea tipurilor atomice pentru

More information

D în această ordine a.î. AB 4 cm, AC 10 cm, BD 15cm

D în această ordine a.î. AB 4 cm, AC 10 cm, BD 15cm Preparatory Problems 1Se dau punctele coliniare A, B, C, D în această ordine aî AB 4 cm, AC cm, BD 15cm a) calculați lungimile segmentelor BC, CD, AD b) determinați distanța dintre mijloacele segmentelor

More information

Universitatea George Bariţiu, Braşov

Universitatea George Bariţiu, Braşov LUCRUL CU BAZE DE DATE ÎN JAVA Lect.univ.dr.ing. IOAN-GHEORGHE RAŢIU Lect.univ. NICOLETA DAVID Universitatea George Bariţiu, Braşov Rezumat O bază de date reprezintă o modalitate de stocare a unor informaţii

More information

9. Memoria. Procesorul are o memorie cu o arhitectură pe două niveluri pentru memoria de program și de date.

9. Memoria. Procesorul are o memorie cu o arhitectură pe două niveluri pentru memoria de program și de date. 9. Memoria Procesorul are o memorie cu o arhitectură pe două niveluri pentru memoria de program și de date. Primul nivel conține memorie de program cache (L1P) și memorie de date cache (L1D). Al doilea

More information

Semnale şi sisteme. Facultatea de Electronică şi Telecomunicaţii Departamentul de Comunicaţii (TC)

Semnale şi sisteme. Facultatea de Electronică şi Telecomunicaţii Departamentul de Comunicaţii (TC) Semnale şi sisteme Facultatea de Electronică şi Telecomunicaţii Departamentul de Comunicaţii (TC) http://shannon.etc.upt.ro/teaching/ssist/ 1 OBIECTIVELE CURSULUI Disciplina îşi propune să familiarizeze

More information

Propuneri pentru teme de licență

Propuneri pentru teme de licență Propuneri pentru teme de licență Departament Automatizări Eaton România Instalație de pompare cu rotire în funcție de timpul de funcționare Tablou electric cu 1 pompă pilot + 3 pompe mari, cu rotirea lor

More information

9. CURSOARE. Obiective. În acest Capitol, vom învăţa despre: Manipularea cursoarelor. Folosirea Cursor FOR Loops şi Nesting Cursors.

9. CURSOARE. Obiective. În acest Capitol, vom învăţa despre: Manipularea cursoarelor. Folosirea Cursor FOR Loops şi Nesting Cursors. 9. CURSOARE Obiective. În acest Capitol, vom învăţa despre: Manipularea cursoarelor. Folosirea Cursor FOR Loops şi Nesting Cursors. Cursoare sunt zone de memorie care ne permit să alocam o zonă de memorie

More information

Aspecte controversate în Procedura Insolvenţei şi posibile soluţii

Aspecte controversate în Procedura Insolvenţei şi posibile soluţii www.pwc.com/ro Aspecte controversate în Procedura Insolvenţei şi posibile soluţii 1 Perioada de observaţie - Vânzarea de stocuri aduse în garanţie, în cursul normal al activității - Tratamentul leasingului

More information

GHID DE TERMENI MEDIA

GHID DE TERMENI MEDIA GHID DE TERMENI MEDIA Definitii si explicatii 1. Target Group si Universe Target Group - grupul demografic care a fost identificat ca fiind grupul cheie de consumatori ai unui brand. Toate activitatile

More information

MICROSOFT ACCESS 2007 (DE CĂUTAT???)

MICROSOFT ACCESS 2007 (DE CĂUTAT???) Access 2007 Modul A Pagina 1 MICROSOFT ACCESS 2007 (DE CĂUTAT???) 1. CONCEPTE GENERALE PRIVIND BAZELE DE DATE Evoluţia diferitelor metode şi tehnici de organizare a datelor pe suporturi de memorie externă

More information

Mecanismul de decontare a cererilor de plata

Mecanismul de decontare a cererilor de plata Mecanismul de decontare a cererilor de plata Autoritatea de Management pentru Programul Operaţional Sectorial Creşterea Competitivităţii Economice (POS CCE) Ministerul Fondurilor Europene - Iunie - iulie

More information

INFORMAȚII DESPRE PRODUS. FLEXIMARK Stainless steel FCC. Informații Included in FLEXIMARK sample bag (article no. M )

INFORMAȚII DESPRE PRODUS. FLEXIMARK Stainless steel FCC. Informații Included in FLEXIMARK sample bag (article no. M ) FLEXIMARK FCC din oțel inoxidabil este un sistem de marcare personalizată în relief pentru cabluri și componente, pentru medii dure, fiind rezistent la acizi și la coroziune. Informații Included in FLEXIMARK

More information

Subinterogari SELECT salariul FROM angajaţi WHERE nume= Ionescu SELECT nume, prenume FROM angajaţi WHERE salariul>s

Subinterogari SELECT salariul FROM angajaţi WHERE nume= Ionescu SELECT nume, prenume FROM angajaţi WHERE salariul>s Subinterogari Sunteţi patronul unei firme. În ultima perioadă unul dintre salariaţii firmei, pe nume Ionescu, s-a remarcat în mod deosebit prin activitatea sa. Aţi decis de aceea să îi măriţi salariul

More information

CERERI SELECT PE MAI MULTE TABELE

CERERI SELECT PE MAI MULTE TABELE SQL - 2 CERERI SELECT PE MAI MULTE TABELE 1 STUD MATR NUME AN GRUPA DATAN LOC TUTOR PUNCTAJ CODS ---- ------- -- ------ --------- ---------- ----- ------- ---- 1456 GEORGE 4 1141A 12-MAR-82 BUCURESTI 2890

More information

2. Setări configurare acces la o cameră web conectată într-un echipament HG8121H cu funcție activă de router

2. Setări configurare acces la o cameră web conectată într-un echipament HG8121H cu funcție activă de router Pentru a putea vizualiza imaginile unei camere web IP conectată într-un echipament Huawei HG8121H, este necesară activarea serviciului Dinamic DNS oferit de RCS&RDS, precum și efectuarea unor setări pe

More information

Reţele Neuronale Artificiale în MATLAB

Reţele Neuronale Artificiale în MATLAB Reţele Neuronale Artificiale în MATLAB Programul MATLAB dispune de o colecţie de funcţii şi interfeţe grafice, destinate lucrului cu Reţele Neuronale Artificiale, grupate sub numele de Neural Network Toolbox.

More information

APLICAŢIE INFORMATICĂ PENTRU PREGĂTIREA MISIUNILOR DE NIVEL TACTIC

APLICAŢIE INFORMATICĂ PENTRU PREGĂTIREA MISIUNILOR DE NIVEL TACTIC APLICAŢIE INFORMATICĂ PENTRU PREGĂTIREA MISIUNILOR DE NIVEL TACTIC Asist.univ.drd. Romana OANCEA Conf.univ.dr.ing. Ghiţă BÂRSAN Academia Forţelor Terestre Nicolae Bălcescu Sibiu Abstract The paper describes

More information

Creare baza de data Deschidem aplicaţia Microsoft Access. Lansarea în execuţie a programului se face urmând calea:

Creare baza de data Deschidem aplicaţia Microsoft Access. Lansarea în execuţie a programului se face urmând calea: Baze de date Pentru început este bine să înţelegem noţiunile de bază din Access: modul de organizare a unei baze de date, a noţiunilor de tabel, înregistrare, câmp, tip de dată al câmpului, proprietăţi

More information

R O M Â N I A CURTEA CONSTITUŢIONALĂ

R O M Â N I A CURTEA CONSTITUŢIONALĂ R O M Â N I A CURTEA CONSTITUŢIONALĂ Palatul Parlamentului Calea 13 Septembrie nr. 2, Intrarea B1, Sectorul 5, 050725 Bucureşti, România Telefon: (+40-21) 312 34 84; 335 62 09 Fax: (+40-21) 312 43 59;

More information

Olimpiad«Estonia, 2003

Olimpiad«Estonia, 2003 Problema s«pt«m nii 128 a) Dintr-o tabl«p«trat«(2n + 1) (2n + 1) se ndep«rteaz«p«tr«telul din centru. Pentru ce valori ale lui n se poate pava suprafata r«mas«cu dale L precum cele din figura de mai jos?

More information

ISBN-13:

ISBN-13: Regresii liniare 2.Liniarizarea expresiilor neliniare (Steven C. Chapra, Applied Numerical Methods with MATLAB for Engineers and Scientists, 3rd ed, ISBN-13:978-0-07-340110-2 ) Există cazuri în care aproximarea

More information

Behavioral design patterns (comportamentale) ALIN ZAMFIROIU

Behavioral design patterns (comportamentale) ALIN ZAMFIROIU Behavioral design patterns (comportamentale) ALIN ZAMFIROIU Behavioral design patterns Furnizează soluții pentru o mai bună interacțiune între obiecte și clase. Aceste design pattern-uri controlează relațiile

More information

Capitolul IF.02. Structurarea bazelor de date

Capitolul IF.02. Structurarea bazelor de date Capitolul Cuvinte-cheie: Normalizare, prima formă normală, a doua formă normală, a treia formă normală, cheie candidată, relatie 1 la 1, relație 1 la n, relație m la n IA.02.1. Scurt istoric În anii '60,

More information

Ce este o BAZA DE DATE?

Ce este o BAZA DE DATE? Ce este o BAZA DE DATE? In sens larg un sistem proiectat pentru a oferi un mecanism organizat, capabil sa stocheze, sa actualizeze si sa regaseasca informatia Exemplu: o biblioteca Noţiunea de bază de

More information

Arbori. Figura 1. struct ANOD { int val; ANOD* st; ANOD* dr; }; #include <stdio.h> #include <conio.h> struct ANOD { int val; ANOD* st; ANOD* dr; }

Arbori. Figura 1. struct ANOD { int val; ANOD* st; ANOD* dr; }; #include <stdio.h> #include <conio.h> struct ANOD { int val; ANOD* st; ANOD* dr; } Arbori Arborii, ca şi listele, sunt structuri dinamice. Elementele structurale ale unui arbore sunt noduri şi arce orientate care unesc nodurile. Deci, în fond, un arbore este un graf orientat degenerat.

More information

UNIVERSITATEA DIN CRAIOVA FACULTATEA DE ELECTROMECANICĂ CATEDRA DE ACŢIONĂRI ELECTRICE. Şef lucrări dr. ing. Cătălin CONSTANTINESCU BAZE DE DATE

UNIVERSITATEA DIN CRAIOVA FACULTATEA DE ELECTROMECANICĂ CATEDRA DE ACŢIONĂRI ELECTRICE. Şef lucrări dr. ing. Cătălin CONSTANTINESCU BAZE DE DATE UNIVERSITATEA DIN CRAIOVA FACULTATEA DE ELECTROMECANICĂ CATEDRA DE ACŢIONĂRI ELECTRICE Şef lucrări dr. ing. Cătălin CONSTANTINESCU BAZE DE DATE Electromecanică - Frecvenţă redusă - Suport teoretic - 2006-2007

More information

1. Creaţi un nou proiect de tip Windows Forms Application, cu numele MdiExample.

1. Creaţi un nou proiect de tip Windows Forms Application, cu numele MdiExample. Aplicaţia MdiExample Aplicaţia implementează: Deschiderea şi închiderea ferestrelor child. Minimizarea şi maximizarea ferestrelor. Aranjarea ferestrelor. Tratarea mesajului de atenţionare la ieşirea din

More information

Colegiul Național Calistrat Hogaș Piatra-Neamț LIMBAJUL SQL

Colegiul Național Calistrat Hogaș Piatra-Neamț LIMBAJUL SQL LIMBAJUL SQL Prezentare generală SQL (Structured Query Language) este în prezent, unul din cele mai puternice limbaje structurate pentru interogarea bazelor de date relaţionale. Este un limbaj neprocedural

More information

Vizualizarea documentelor xml

Vizualizarea documentelor xml Vizualizarea documentelor xml Fără un fişier de stil asociat: browserul vizualizează conținutul documentului xml, cu posibilitatea de a vedea/ascunde descendenții unui nod din structura arborescentă Exemplu:

More information

Auditul financiar la IMM-uri: de la limitare la oportunitate

Auditul financiar la IMM-uri: de la limitare la oportunitate Auditul financiar la IMM-uri: de la limitare la oportunitate 3 noiembrie 2017 Clemente Kiss KPMG in Romania Agenda Ce este un audit la un IMM? Comparatie: audit/revizuire/compilare Diferente: audit/revizuire/compilare

More information

The First TST for the JBMO Satu Mare, April 6, 2018

The First TST for the JBMO Satu Mare, April 6, 2018 The First TST for the JBMO Satu Mare, April 6, 08 Problem. Prove that the equation x +y +z = x+y +z + has no rational solutions. Solution. The equation can be written equivalently (x ) + (y ) + (z ) =

More information

Metoda BACKTRACKING. prof. Jiduc Gabriel

Metoda BACKTRACKING. prof. Jiduc Gabriel Metoda BACKTRACKING prof. Jiduc Gabriel Un algoritm backtracking este un algoritm de căutare sistematică și exhausivă a tuturor soluțiilor posibile, dintre care se poate alege apoi soluția optimă. Problemele

More information

1 Vasile Violeta Ion Popescu Avram Maria Câmpuri în tabel

1 Vasile Violeta Ion Popescu Avram Maria Câmpuri în tabel ECDL MODULUL 5 Baze de date 1.1. Concepte generale privind bazele de date 1. Utilizarea aplicaţiei Access De ce foloisim bazele de date: Atunci când avem mai multe informaţii despre un anumit lucru si

More information

Proceduri de analizã a datelor

Proceduri de analizã a datelor Proceduri de analizã a datelor Liste Prin listã se întelege o serie de linii succesive într-o foaie de calcul, fiecare coloanã din listã continând date cu aceeasi semnificatie logicã. De exemplu, o listã

More information

Ministerul Educaţiei Naţionale şi Cercetării Ştiinţifice Olimpiada de Tehnologia Informaţiei etapa judeţeană 2 aprilie 2016

Ministerul Educaţiei Naţionale şi Cercetării Ştiinţifice Olimpiada de Tehnologia Informaţiei etapa judeţeană 2 aprilie 2016 Subiect - Proba proiect 100 puncte GOOD FOOD Notă: Toate resursele le găsiţi în folder-ul Resurse aflat pe desktop. Creați un folder cu denumirea X, în care X este ID-ul de concurs și salvați în folder-ul

More information

[{CYCLE NOCYCLE}] [{CACHE

[{CYCLE NOCYCLE}] [{CACHE Laborator 10 1. Secvenţe Secvenţa este un obiect al bazei de date ce permite generarea de întregi unici pentru a fi folosiţi ca valori pentru cheia primară sau coloane numerice unice. Secvenţele sunt independente

More information

Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic

Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Proiect nr. 154/323 cod SMIS 4428 cofinanțat de prin Fondul European de Dezvoltare Regională Investiții pentru viitorul

More information

Itemi Sisteme de Operare

Itemi Sisteme de Operare Itemi Sisteme de Operare 1. Pentru a muta un dosar (folder) de pe partiţia C: pe partiţia D: folosim: a. New Folder b. Ctrl + C din bara de instrumente şi Copy; c. Ctrl + X şi Ctrl + V; d. Edit Paste;

More information

MANAGEMENTUL CALITĂȚII - MC. Proiect 5 Procedura documentată pentru procesul ales

MANAGEMENTUL CALITĂȚII - MC. Proiect 5 Procedura documentată pentru procesul ales MANAGEMENTUL CALITĂȚII - MC Proiect 5 Procedura documentată pentru procesul ales CUPRINS Procedura documentată Generalități Exemple de proceduri documentate Alegerea procesului pentru realizarea procedurii

More information

Laboratorul 3 Lucrul cu baze de date relaționate în Visual C#.NET

Laboratorul 3 Lucrul cu baze de date relaționate în Visual C#.NET Laboratorul 3 Lucrul cu baze de date relaționate în Visual C#.NET Ce ne propunem astăzi? În acest laborator ne propunem să implementăm în Visual C#.NET o aplicație destinată unui cabinet medical de radiologie,

More information

Metoda de programare BACKTRACKING

Metoda de programare BACKTRACKING Metoda de programare BACKTRACKING Sumar 1. Competenţe............................................ 3 2. Descrierea generală a metodei............................. 4 3......................... 7 4. Probleme..............................................

More information

SGBD Access 2010: Query

SGBD Access 2010: Query SGBD Access 2010: Query Interogarea (Query) este un obiect ce permite vizualizarea informaţiilor obţinute prin selectarea şi prelucrarea datelor din unul sau mai multe tabele (sau interogări) Rezultatul

More information

Dispozitive Electronice şi Electronică Analogică Suport curs 02 Metode de analiză a circuitelor electrice. Divizoare rezistive.

Dispozitive Electronice şi Electronică Analogică Suport curs 02 Metode de analiză a circuitelor electrice. Divizoare rezistive. . egimul de curent continuu de funcţionare al sistemelor electronice În acest regim de funcţionare, valorile mărimilor electrice ale sistemului electronic sunt constante în timp. Aşadar, funcţionarea sistemului

More information

Baze de date - Lucrare de laborator 3 -

Baze de date - Lucrare de laborator 3 - Baze de date - Lucrare de laborator 3 - PROIECTAREA BAZELOR DE DATE RELATIONALE 1. NOTIUNI TEORETICE Proiectarea unei baze de date consta din proiectarea schemei conceptuale (logice) si fizice a acesteia,

More information

Proiectarea Sistemelor Software Complexe

Proiectarea Sistemelor Software Complexe Proiectarea Sistemelor Software Complexe Curs 3 Principii de Proiectare Orientată pe Obiecte Principiile de proiectare orientată pe obiecte au fost formulate pentru a servi ca reguli pentru evitarea proiectării

More information

Subprograme şi pachete PL/SQL

Subprograme şi pachete PL/SQL Subprograme şi pachete PL/SQL Subprograme PL/SQL Subprogramele sunt blocuri PL/SQL care au nume, acceptă parametri şi pot fi apelate din alte blocuri PL/SQL. Subprogramele pot fi declarate ca proceduri

More information

Capitolul 4 SUBCERERI. F. Radulescu. Curs: Baze de date - Limbajul SQL

Capitolul 4 SUBCERERI. F. Radulescu. Curs: Baze de date - Limbajul SQL Capitolul 4 SUBCERERI 1 STUD MATR NUME AN GRUPA DATAN LOC TUTOR PUNCTAJ CODS ---- ------- -- ------ --------- ---------- ----- ------- ---- 1456 GEORGE 4 1141A 12-MAR-82 BUCURESTI 2890 11 1325 VASILE 2

More information

Funcţii grup şi clauzele GROUP BY, HAVING. Operatorii ROLLUP şi CUBE.

Funcţii grup şi clauzele GROUP BY, HAVING. Operatorii ROLLUP şi CUBE. Baze de date-anul 2 Laborator 4 SQL Funcţii grup şi clauzele GROUP BY, HAVING. Operatorii ROLLUP şi CUBE. I. [Funcţii grup şi clauza GROUP BY] Clauza GROUP BY este utilizată pentru a diviza liniile unui

More information

Interogarea (query), este operaţia prin care se obţin datele

Interogarea (query), este operaţia prin care se obţin datele CAPITOLUL 3 INTEROGAREA BAZELOR DE DATE Interogarea (query), este operaţia prin care se obţin datele dorite dintr-o bază de date, selectate conform unui anumit criteriu (condiţie). Întrucât operaţia de

More information

REVISTA NAŢIONALĂ DE INFORMATICĂ APLICATĂ INFO-PRACTIC

REVISTA NAŢIONALĂ DE INFORMATICĂ APLICATĂ INFO-PRACTIC REVISTA NAŢIONALĂ DE INFORMATICĂ APLICATĂ INFO-PRACTIC Anul II Nr. 7 aprilie 2013 ISSN 2285 6560 Referent ştiinţific Lector univ. dr. Claudiu Ionuţ Popîrlan Facultatea de Ştiinţe Exacte Universitatea din

More information

Baze de date în Visual Fox Pro. Stabilirea relațiilor dintre tabele în cadrul bazei de date. Filtrarea, sortarea, indexarea, căutarea înregistrărilor.

Baze de date în Visual Fox Pro. Stabilirea relațiilor dintre tabele în cadrul bazei de date. Filtrarea, sortarea, indexarea, căutarea înregistrărilor. Baze de date în Visual Fox Pro Stabilirea relațiilor dintre tabele în cadrul bazei de date. Filtrarea, sortarea, indexarea, căutarea înregistrărilor. Universitatea de Stat Alecu Russo, Bălți 2013 Obiective:

More information

Tema 1 - Transferuri de date DMA intr-o arhitectura de tip Cell

Tema 1 - Transferuri de date DMA intr-o arhitectura de tip Cell Tema 1 - Transferuri de date DMA intr-o arhitectura de tip Cell Termen de trimitere a temei: Luni, 31 martie 2008, ora 23:55 1. Specificatii functionale O arhitectura de tip Cell consta din urmatoarele

More information

Baze de date distribuite și mobile

Baze de date distribuite și mobile Universitatea Constantin Brâncuşi din Târgu-Jiu Facultatea de Inginerie Departamentul de Automatică, Energie şi Mediu Baze de date distribuite și mobile Lect.dr. Adrian Runceanu Curs 3 Model fizic şi model

More information

I. CONCEPTE ALE BAZELOR DE DATE RELAŢIONALE

I. CONCEPTE ALE BAZELOR DE DATE RELAŢIONALE I. CONCEPTE ALE BAZELOR DE DATE RELAŢIONALE 1.1 Definiţii 1.2 Niveluri de abstractizare a datelor 1.3 Componente ale bazelor de date relaţionale 1.4 Proiectarea bazelor de date relaţionale. Etape. Normalizarea

More information

UNIVERSITATEA ŞTEFAN CEL MARE SUCEAVA

UNIVERSITATEA ŞTEFAN CEL MARE SUCEAVA UNIVERSITATEA ŞTEFAN CEL MARE SUCEAVA Facultatea de Ştiinţe Economice şi Administraţie Publică Nicolae Morariu BAZE DE DATE Îndrumar de laborator 2005 1 Referenţi ştiinţifici: Prof.univ.dr.ing. Alexandru

More information

Universitatea Politehnica Bucureşti Facultatea de Automatică şi Calculatoare Departamentul de Automatică şi Ingineria Sistemelor LUCRARE DE LICENŢĂ

Universitatea Politehnica Bucureşti Facultatea de Automatică şi Calculatoare Departamentul de Automatică şi Ingineria Sistemelor LUCRARE DE LICENŢĂ Universitatea Politehnica Bucureşti Facultatea de Automatică şi Calculatoare Departamentul de Automatică şi Ingineria Sistemelor LUCRARE DE LICENŢĂ Sistem Object Relational Mapping in Java Coordonator

More information

Ghid de utilizare a Calculatorului valorii U

Ghid de utilizare a Calculatorului valorii U Ghid de utilizare a Calculatorului valorii U la Apelul de Propuneri de Proiecte Nr.3 pentru Instituțiile din Sectorul Public pentru investiții în Eficiență Energetică și Surse de Energie Regenerabilă Versiunea

More information

Displaying data from databases using different ASP.NET controls

Displaying data from databases using different ASP.NET controls 102 Revista Informatica Economică, nr. 1(33)/2005 Displaying data from databases using different ASP.NET controls Asist. Dragoş Sebastian CRISTEA Catedra de Contabilitate şi Informatică Economică, Universitatea

More information

Candlesticks. 14 Martie Lector : Alexandru Preda, CFTe

Candlesticks. 14 Martie Lector : Alexandru Preda, CFTe Candlesticks 14 Martie 2013 Lector : Alexandru Preda, CFTe Istorie Munehisa Homma - (1724-1803) Ojima Rice Market in Osaka 1710 devine si piata futures Parintele candlesticks Samurai In 1755 a scris The

More information

3.2 Arhitectura setului de instrucţiuni ISA. Copyright Paul GASNER

3.2 Arhitectura setului de instrucţiuni ISA. Copyright Paul GASNER 3.2 Arhitectura setului de instrucţiuni ISA Copyright Paul GASNER Programarea CPU Programele scrise în limbaje de nivel înalt trebuie compilate pentru a obţine un program executabil Din punctul de vedere

More information

Figura x.1 Ecranul de pornire al mediului de dezvoltare

Figura x.1 Ecranul de pornire al mediului de dezvoltare x. Mediul de dezvoltare MICROSOFT VISUAL C++ În cadrul acestui capitol vom prezenta Microsoft Visual C++, din cadrul suitei Microsoft Visual Studio 2012, care este un mediu de programare care suportă dezvoltarea

More information

Mods euro truck simulator 2 harta romaniei by elyxir. Mods euro truck simulator 2 harta romaniei by elyxir.zip

Mods euro truck simulator 2 harta romaniei by elyxir. Mods euro truck simulator 2 harta romaniei by elyxir.zip Mods euro truck simulator 2 harta romaniei by elyxir Mods euro truck simulator 2 harta romaniei by elyxir.zip 26/07/2015 Download mods euro truck simulator 2 harta Harta Romaniei pentru Euro Truck Simulator

More information

Mulțumim anticipat tuturor acelora care vor transmite critici/observații/sugestii

Mulțumim anticipat tuturor acelora care vor transmite critici/observații/sugestii Mulțumim anticipat tuturor acelora care vor transmite critici/observații/sugestii ilincamircea@yahoo.com TEMA III.1 v1 : ORGANIZAREA DATELOR UNUI PROGRAM C/C++ ÎN MO postat 02.11.2016 (sinteză) Coținutul

More information

CAIETUL DE SARCINI Organizare evenimente. VS/2014/0442 Euro network supporting innovation for green jobs GREENET

CAIETUL DE SARCINI Organizare evenimente. VS/2014/0442 Euro network supporting innovation for green jobs GREENET CAIETUL DE SARCINI Organizare evenimente VS/2014/0442 Euro network supporting innovation for green jobs GREENET Str. Dem. I. Dobrescu, nr. 2-4, Sector 1, CAIET DE SARCINI Obiectul licitaţiei: Kick off,

More information

Clean Code * Asist. dr. Bogdan Iancu. Asist. dr. Alin Zamfiroiu. * sau de ce e mai important felul în care scriem cod decât ceea ce scriem

Clean Code * Asist. dr. Bogdan Iancu. Asist. dr. Alin Zamfiroiu. * sau de ce e mai important felul în care scriem cod decât ceea ce scriem Clean Code * * sau de ce e mai important felul în care scriem cod decât ceea ce scriem Asist. dr. Bogdan Iancu Asist. dr. Alin Zamfiroiu Despre ce vom discuta De ce clean code? Principii Convenții de nume

More information

Updating the Nomographical Diagrams for Dimensioning the Concrete Slabs

Updating the Nomographical Diagrams for Dimensioning the Concrete Slabs Acta Technica Napocensis: Civil Engineering & Architecture Vol. 57, No. 1 (2014) Journal homepage: http://constructii.utcluj.ro/actacivileng Updating the Nomographical Diagrams for Dimensioning the Concrete

More information

X-Fit S Manual de utilizare

X-Fit S Manual de utilizare X-Fit S Manual de utilizare Compatibilitate Acest produs este compatibil doar cu dispozitivele ce au următoarele specificații: ios: Versiune 7.0 sau mai nouă, Bluetooth 4.0 Android: Versiune 4.3 sau mai

More information

6.1. Tranzacţii O tranzacţie (transaction), este o unitate logică de

6.1. Tranzacţii O tranzacţie (transaction), este o unitate logică de CAPITOLUL 6 GESTIUNEA TRANZACŢIILOR ŞI REFACEREA BAZELOR DE DATE În mod obişnuit, un sistem SGBD deserveşte mai mulţi utilizatori, care accesează concurent datele din tabele. Accesul concurent al utilizatorilor

More information

HEAPSORT I. CONSIDERAŢII TEORETICE

HEAPSORT I. CONSIDERAŢII TEORETICE I. CONSIDERAŢII TEORETICE HEAPSORT Algoritm de sortare care combină calităţile sortării prin inserţie cu cele ale sortării prin interclasare. A fost inventat de Williams 1964. Prin heapsort se ordonează

More information