Lazarus - lucrează cu baze de date

Evaluare: 5/5

După cum puteți vedea din antetul din acest articol, vom vorbi despre lucrul cu bazele de date folosind Ide Lazarus. Bazele de date ocupă un rol important în lumea modernă, sunt folosite pentru a crea majoritatea site-urilor, a sistemelor informatice, a diferitelor programe. În lume există o mare cantitate de DBMS (Database Management System), atât comerciale MsSql, Orcle, Interbase cât și cele gratuite precum MySQl, PostgreSQL, Firebird, Sqlite. Lazarus vă permite, de asemenea, să lucrați cu majoritatea, pentru aceasta puteți instala componente în mediul înconjurător pentru a lucra cu DBMS-ul corespunzător. Vom analiza modalitățile comune de lucru cu bazele de date. În centrul majorității bazelor de date se află limba SQL (limba de interogare structurată). care vă permite să obțineți prelucrarea seturilor de date. Despre sintaxa acestei limbi, puteți citi pe Wikipedia sau în forumurile relevante. Vom lua în considerare munca directă cu datele.







Pentru ca începătorii să lucreze în Lazarus, setul standard de componente din fila SQLdb este destul de potrivit ca primul experiment, această filă conține un set pentru lucrul cu diferite DBMS-uri.

Conținutul fișierului SQLdb.

Componenta pentru primirea și modificarea datelor

Componenta tranzacției

Componenta pentru lucrul cu un număr mare de cod Sql

Componenta pentru stabilirea conexiunii la diferite baze de date

Componenta pentru conectarea la MSSql (Microsoft SQL Server)

Componenta pentru conectarea la Sybase (Sybase SQL Server)

Componenta pentru conectarea la DBMS PostgreSQL

Componenta pentru interacțiunea cu evenimentele din PostgreSQL

Componenta pentru lucrul cu DBMS-ul Oracle

Componenta pentru accesarea datelor prin intermediul driverelor ODBC

Componenta pentru conectarea la DBMS versiunea 4.0 MySql

Componenta pentru conectarea la MySql versiunea 4.1 DBMS

Componenta pentru conectarea la DBMS MySql version 5.0

Componenta pentru conectarea la versiunea MySql 5.1

Componenta pentru conectarea la versiunea MySql 5.5

Componenta pentru conectarea la versiunea MySql 5.6

Componenta pentru conectarea la SQLite DBMS

Componenta pentru conectarea la DBMS Firebird, Interbase

Componentă pentru administrarea serverului Firebird

Componenta pentru lucrul cu evenimentele Firebird, Interbase

Componenta pentru încărcarea bibliotecii de acces la date

De asemenea, aveți nevoie de o componentă TDataSource din fila Data Access pentru a funcționa, este un strat între componente pentru a accesa datele și componentele pentru a afișa datele.

Accesul la date.

Pentru a vă conecta la orice DBMS din formular sau din modulul de dată, trebuie să introduceți componenta necesară. Totul depinde de SGBD-ul necesar. Am ales SQLite și, în consecință, l-am adăugat la formularul TSQLite3Connection. Acesta vă va permite să configurați conexiunea la baza de date dorită. De asemenea, adăugați componenta TSQLTransaction la formular. Acesta asigură integritatea muncii cu datele. Despre el va fi mai târziu mai detaliat.

Deoarece SQLite este un DBMS local, nu este necesar să specificați parametrii conexiunii, cum ar fi serverul, portul, utilizatorul, parola, specificați calea către fișierul de bază de date și codificarea pentru lucrare și specificați componenta pentru tranzacție.

Acest lucru se poate face aproximativ astfel.

Pentru ca programul să funcționeze, trebuie să puneți biblioteca sqlite3.dll în folderul proiectului, puteți descărca ultima versiune aici. Pentru restul bazei de date, veți avea nevoie și de bibliotecile corespunzătoare.

Pentru a obține date din baza de date a formularului, se plasează componenta SQLQuery1, componenta SQLite3Connection1 este specificată ca bază de date și componenta SQLTransaction1 este utilizată ca parametru de tranzacție.

Apoi, introduceți interogarea corespunzătoare din proprietatea SQL pentru a prelua datele și pentru a executa procedura deschisă. Dacă doriți să adăugați o modificare sau să ștergeți datele, trebuie să faceți ExecSQL.

După aceasta, obținem un set de date, dacă masa este mai precisă. Pentru a lucra cu aceasta, componenta TSQLQuery conține un set de funcții și proprietăți de bază.

Pentru a naviga prin setul de date, utilizați următoarele metode.

Aceste metode vă permit să navigați prin rândurile tabelului.







Permiteți-ne să trecem prin toate rândurile mesei și să copiem o anumită valoare, cea mai ușoară cale este asta.

De asemenea, puteți utiliza componenta vizuală TDBNavigator pentru a naviga prin date.

Pentru a afișa date din baza de date, sunt utilizate componentele din fila Date Controls, ele sunt create pe baza componentelor vizuale convenționale, dar sunt concepute pentru a afișa date de diferite tipuri.

Pentru a afișa datele primite pe formular, sunt plasate componenta DataSource1 și componenta vizuală DBGrid1. Componenta DataSource1 are proprietatea DataSet atribuită componentei SQLQuery1, iar componenta DBGrid1 setează proprietatea DataSource la DataSource1. Acum, dacă faceți SQLQuery1.Open, atunci tabelul va afișa datele din baza de date.

Lazarus - lucrează cu baze de date

Adăugarea de date

Puteți adăuga date în tabel în două moduri. Unul este printr-un set de date deschis. Al doilea este prin implementarea unui INSERT special query sql. Să luăm în considerare ambele căi.

Adăugați date printr-un set de date deschis.

Următoarele comenzi sunt utilizate pentru a manipula datele.

Deschide procedura pentru adăugarea unei intrări la sfârșitul setului de date

Aceste comenzi utilizează majoritatea componentelor pentru a lucra cu datele.

Exemplu de adăugare a unei noi înregistrări printr-un set de date.

S-ar putea să pară că există prea multe comenzi pentru a efectua că ar aduce datele în baza de date. Dar este necesar să se efectueze numai pentru aceste componente, există mai multe componente umane, în cazul în care doar un singur post este suficient.

Exemplu de adăugare a datelor prin intermediul interogării SQL.

După cum puteți vedea, nu este nimic complicat. Pentru a adăuga cantități mari de date, este mai bine să utilizați a doua metodă. Deoarece prima metodă după adăugarea unei înregistrări determină actualizarea listei de date, ceea ce va duce la o încetinire treptată a adăugării de date.

Editați datele.

Există mai multe moduri de a modifica datele din baza de date. Luați în considerare două moduri de a modifica datele utilizând componentele Sqldb.

Prima metodă va fi printr-un set de date deschis.

Este suficient să stați pe înregistrarea necesară și să o deschideți prin procedura Editare

De asemenea, datele pot fi editate prin interogarea SQL UPDATE

Ștergerea datelor

Ștergerea datelor din baza de date nu este dificilă, principalul lucru pentru a șterge exact acele date, și nu cele care au fost necesare. Adesea, acest lucru este salvat prin tranzacții și copii de rezervă. Dar nu întotdeauna. Luați în considerare aceleași două moduri de a șterge datele.

Ștergeți din setul de date. Doar obțineți înregistrarea necesară și executați următorul cod.

De asemenea, puteți șterge datele printr-o interogare SQL DELETE, procedând astfel după cum urmează.

Când ștergeți datele printr-o interogare, trebuie să știți exact ce date să ștergeți. Dacă faceți acest lucru.

Apoi ștergeți toate datele din tabelul1. Prin urmare, este necesar să specificați datele pe care să le ștergeți.

Căutați date.

Căutarea datelor este unul dintre lucrurile necesare în lucrul cu bazele de date. Există mai multe moduri de a efectua această operație. Nu vom lua în considerare totul. Să ne ocupăm de cele mai simple.

Prima modalitate este să căutați setul de date selectat. Se efectuează pe o anumită coloană sau coloane de date. Arată așa.

Când se utilizează această înregistrare, marcatorul înregistrării selectate se va deplasa la înregistrarea căutată, dacă datele căutate nu vor fi găsite, marcatorul va trece la ultima înregistrare.

De asemenea, puteți selecta date cu condiția SELECT. Unde se face acest lucru.

Această interogare este utilizată pentru a căuta date exacte. Dacă doriți să găsiți toate datele similare, atunci se aplică funcția SQL LIKE, vă permite să setați o căutare aproximativă a valorii în rândurile de date pentru o anumită coloană. Sintaxa acestei funcții este

Un exemplu de utilizare a unei funcții din cod.

Această interogare va tipări toate numele care conțin literele și.

Există o mică problemă cu SQLite. În această bază de date, operatorul LIKE este pe deplin acceptat numai pentru alfabetul latin, pentru chirilic funcționează și el, dar numai în cazul literelor. Pentru a evita această problemă, fie utilizați biblioteca sqlite3.dll cu suport ICU, fie utilizați funcția LIKE.

tranzacții

Tranzacțiile din bazele de date asigură integritatea și securitatea datelor. Acestea vă permit să modificați datele din baza de date sau să reveniți la starea anterioară a datelor din cadrul tranzacției. Există un nivel diferit de izolare a datelor în timpul operării tranzacțiilor, depinde de DBMS-ul folosit.

Un exemplu de lucru cu tranzacțiile din cod.

De asemenea, este convenabil să utilizați tranzacțiile când trebuie să încărcați o cantitate mare de date în baza de date. Deoarece tranzacțiile accelerează procesul de lucru cu înregistrări de sute de ori. Dar nu le abuzați, deoarece utilizarea lor incorectă poate duce la suspendarea programelor care funcționează cu baza de date.

În eroarea articol, interogările cu o căutare care conține LIKE, ar trebui să arate diferit, parametrii parserului nu sunt parsedați, ci și procentajele.
Va fi corect astfel:
SQLQuery1.SQL.Text: = 'selectați * din table1 unde nume ca: nm'; // cererea de căutare de date
SQLQuery1.ParamByName ('nm'). AsString: = '% și%';
Citatele nu sunt necesare, deoarece fac AsString automat, iar procentajele nu sunt analizate, așa că intră în parametrul propriu-zis, nu știu dacă este vorba de un bug sau de o caracteristică.
O jumătate de zi ieri a pierdut în această privință: (

În eroarea articol, interogările cu o căutare care conține LIKE, ar trebui să arate diferit, parametrii parserului nu sunt parsedați, ci și procentajele.
Va fi corect astfel:
SQLQuery1.SQL.Text: = 'selectați * din table1 unde nume ca: nm'; // cererea de căutare de date
SQLQuery1.Param ByName ('nm'). Ca șir: = '% și%';
Citatele nu sunt necesare, deoarece fac AsString automat, iar procentajele nu sunt analizate, așa că intră în parametrul propriu-zis, nu știu dacă este vorba de un bug sau de o caracteristică.
O jumătate de zi ieri a pierdut în această privință: (

Multumesc pentru articol! Am avut o singură întrebare - cum să listați tabelele în ListăBox prin interogarea SQL "SELECT * FROM sqlite_master WHERE type =" table "ORDER BY name"?

Mulțumesc foarte mult, mi-am dat seama că am luat o groapă sql din mysql și am încercat să o folosesc.







Articole similare

Trimiteți-le prietenilor: