===== DBOpen (Instrucțiune) ===== > **Engleză:** //**D**ata **B**ase = bază de date; to **OPEN** = a deschide// ==== Format ==== **dbopen** [[stringexpressions|nume_fișier]]\\ **dbopen** ( [[stringexpressions|nume_fișier]] )\\ **dbopen** [[integerexpressions|număr_bază_de_date]] , [[stringexpressions|nume_fișier]]\\ **dbopen** ( [[integerexpressions|număr_bază_de_date]] , [[stringexpressions|nume_fișier]] ) ==== Descriere ==== Deschide o bază de date (SQLite) care e în fapt un fișier în care sunt stocate informațiile. Dacă fișierul nu există, îl creează. ==== Parametri ==== **//nume_fișier//** - este un [[stringexpressions|șir_de_caractere]] și reprezintă numele fișierului care conține baza de date. În cazul în care fișierul nu există, instrucțiunea îl va crea. Dacă se folosește un șir de caractere gol (""), atunci nu va fi creat un fișier, ci baza de date va fi creată și stocată pe cât posibil în memorie. Dacă baza de date devine prea mare, atunci poate fi creat un fișier temporar, dar care va fi șters odată ce baza de date va fi închisă. Pentru a forța sistemul să nu creeze niciun fișier, atunci se poate folosi numele: ":memory:". **//număr_bază_de_date//** - este un [[integerexpressions|număr_întreg]] și reprezintă numărul bazei de date. BASIC-256 poate lucra cu până la 8 baze de date deschise în același timp. Fiecărei baze de date deschise i se alocă un număr unic, cuprins între 0 și 7. Odată ce o bază de date este închisă, numărul ei devine disponibil pentru a fi alocat altor baze de date (a se vedea funcția [[Freedb|FreeDB]] ). Dacă nu se specifică niciun număr pentru baza de date, numărul 0 va fi folosit. Dacă numărul indicat este deja folosit de o altă bază de date deschisă, acesta din urmă va fi închisă. ==== Exemplu ==== #baza de date - crează o bază de date, populează un tabel, deschide un set de înregistrări și citește date dintr-un tabel. # crează și deschide un fișier conținând o bază de date dbopen "dbtest.sqlite3" # șterge vechiul tabel 'foo' - și tratează o eventuală eroare onerror errortrap dbexecute "drop table foo;" offerror # crează tabelul și populează cu câteva date dbexecute "create table foo (id integer, words text, value decimal);" dbexecute "insert into foo values (1,'unu',3.14);" dbexecute "insert into foo values (2,'doi',6.28);" dbexecute "insert into foo values (3,'trei',9.43);" # deschide un set de înregistrări și trece prin toate rândurile de date dbopenset "select * from foo order by words;" while dbrow() print dbint(0) + " " + dbstring(1) + " " + dbfloat(2) end while dbcloseset # închide totul dbclose end errortrap: # acceptă eroarea fără a o afișa pe ecran și continuă programul de unde a fost întrerupt return va afișa 2 doi 6.28 3 trei 9.43 1 unu 3.14 ==== Vezi și ==== {{page>ro:start#Baze de date (SQLite)&noheader}} ==== Legături externe ==== Mai multe informații despre bazele de date în general și despre SQLite pot fi găsite la [[http://sqlite.org|SQLite Home Page (EN)]], [[http://en.wikipedia.org/wiki/SQL|SQL pe Wikipedia (EN)]] sau [[https://ro.wikipedia.org/wiki/SQLite|SQLite pe Wikipedia (RO)]]. ==== Istoric ==== |0.9.6y|Adăugată în acestă versiune| |0.9.9.19|S-a adăugat posibilitatea de a lucra cu 8 baze de date în același timp|