Know Intuit, prelegere, metode de creare și modificare a tabelelor

Rezumat: În acest capitol veți învăța despre trei moduri de a crea tabele programatic. Vei crea tabelul atât de simplu și complex indexate, să învețe cum să creați tabelul prin SQL-interogare.

În conferințele anterioare am învățat o mulțime de moduri de a crea și manipula tabele. În cele mai multe cazuri, datele și tabelele de baze de date proiectat și creat în prealabil, de exemplu, instrumente, cum ar fi baza de date desktop. sau Baze de date MS Access. Cu toate acestea, uneori este necesar să se creeze tabele programatic, adică, nu în momentul proiectării aplicare, și în timp ce se execută. Să presupunem că fiecare program de utilizator ar trebui să aibă propriul tabel în baza de date, sau chiar baza de date proprie. Asigurați-vă că în avans programator nu poate, pentru că nu se știe cât de mulți oameni sunt pe același PC-ul va lucra cu programul, și ce numele lor sunt.

Din păcate, în cele mai multe manuale despre crearea unor tabele programatică sau inexistente sau foarte rare - doar descrie ceea ce că o modalitate de a crea un singur tip de tabele. Dar programator, în funcție de circumstanțe, poate fi necesar pentru a crea diferite tipuri de tabele, o varietate de moduri. În acest capitol vom încerca să umple acest gol și a discuta trei modalități de a crea programatic ambele tabele simple și indexate.

BDE. tabel simplu.

Cel mai simplu mod de a crea un tabel fără indici oferă un mecanism pentru a avea acces la datele de BDE. Avantajele acestei metode în simplitatea punerii în aplicare, abilitatea de a crea un tabel ca un tip de text, și dBase. Paradox sau FoxPro.

De asemenea, avem nevoie de mai mult de patru componente non-vizuale. Direct la rețea, sau în orice alt loc, setați componenta BDE TTable cu o filă. Fila TDataSource componenta de acces la date. și componente și TSaveDialog TOpenDialog cu tab. Dialoguri

Pregătiți componentele de dialog. Selectați-le și să alocați Filtrul de proprietate ambele componente de coarde

Dacă selectați tipul de tabel (nu ttDefault), atunci acest tip, indiferent de extinderea unui tabel specificat numele fișierului va fi utilizat.

În același mod, creați câteva tipuri diferite de domenii. Fiecare câmp, atribuie un nume unic (deoarece tabela nu poate avea două câmpuri cu același nume!). Este important că ați adăugat numai tipurile de teren care sunt acceptate de tipul selectat de masă, în acest caz, dBase. La adăugarea de tip Memo selectați o dimensiune de la 1 la 255, de exemplu, 50. În acest caz, masa de fișier * .dbf câmp text este salvat 50 de caractere. Text care nu se încadrează în această dimensiune vor fi stocate în fișierul memo cu același nume, dar cu extensia * .dbt.

Face componentă activă tabelară în etapa de proiectare nu este necesară. Deci, nu are o bază de date. care nu au o masă fizică, am pre-stabilit tipul de masă și câmpurile necesare. După cum probabil ați ghicit, avem, de asemenea, posibilitatea de a configura imediat formatele necesare pentru fiecare domeniu, schimbarea proprietăților sale, cum ar fi DisplayFormat. EditMask. DisplayLabel și colab.

În continuare, am plecat imediat pentru a crea și de a deschide masa. Faceți dublu clic pe butonul „Create Table“ generat pentru evenimentul ei. Procedura pentru acest eveniment introduce codul:

Codul este aproape la fel pentru butonul „Deschidere masă“ este același:

Compilați programul și să lucreze cu el, veți descoperi că puteți crea și deschide orice număr de tabele de software. În acest caz, fiecare tabel este creat de două fișiere (dacă utilizați un câmp memo). Încercați-l în același mod de a crea un tip de tabel Paradox.

BDE. Tabel cu taste și indici.

Forma adăuga file TTable componentă BDE. Nume proprietate care atribuie valoarea TMy (în loc Tabelul 1), o proprietate de valoare TABLETYPE ttParadox. Dacă sunteți în cerere există o grilă DBGrid și (sau) DBNavigator navigator. adăugați ca DataSource componentă. care trebuie să fie conectat la masa TMy. și grilă și navigator - pentru conectarea la sursa de date. Trebuie avut în vedere un detaliu: o descriere a metodelor de a crea câmpuri și indicii stocate în modulul DBTables. care se conectează la forma dvs. de îndată ce ați stabilit componenta TTable. Dacă utilizați un modul de date, și a stabilit componenta de masă acolo, atunci ai nevoie pentru a crea un tabel, de asemenea, în acest modul, iar forma principala cauză doar procesul de creare de masă. Dar, în acest exemplu simplu, nu există nici un modul de date, modulul dbTables este listat în utilizările din formularul principal, și ar trebui să apară probleme.

apăsarea codul butonului arata ca acest lucru:

Să considerăm următorul cod. Prima unitate verifică din tabel. Tabelul este căutat în dosarul în care a fost lansat programul. Dacă tabelul este găsit, componenta i se atribuie proprietăți TMy databasename (un dosar. În cazul în care este masa) și Nume_tabelă (nume de masă). În acest caz, masa se numește Proba.db. dar puteți complica programul folosind dialogul OpenDialog. ca în exemplul anterior. În acest caz, utilizatorul poate alege să nu numai numele tabelului. dar, de asemenea, locația sa. Tabelul de mai jos oferă, și operatorul de ieșire se termină prematur procedura.

Dacă se continuă rutina, atunci masa nu a fost găsit. În acest caz, vom umple proprietățile componentei de masă, databasename. TABLETYPE Nume_tabelă și valorile necesare.

Apoi, începe adăugarea de câmpuri. Pentru a reduce acest cod, vom folosi operatorul cu. Permiteți-mi să vă reamintesc că această afirmație creează un bloc de cod care se referă la acest lucru cu obiectul. Deci, în loc de

După cum puteți vedea mai multe tipuri pur și simplu nu au. În loc de tip logic, va trebui să utilizați un tip șir de caractere, cu o dimensiune de un singur caracter; în care „Y“ sau „1“ va însemna adevăr și „N“ sau „0“ - minciună. Programatorul poate să facă verifica această valoare. Fără tip de Memo. Fără tip de auto-increment. Cu toate acestea, tipurile standard sunt obligate să funcționeze corect în orice bază de date.

Mai jos este un exemplu de creare și de a deschide o masă simplă. Cererea trebuie să fie componenta ADOQuery. și dacă există o grilă și navigator, apoi DBSource. Pentru a vă conecta la furnizorul de servicii dorit este de dorit să se utilizeze datele componente TADOConnection. În proprietatea sa ConnectionString este necesar să se înregistreze șirul de conectare, de exemplu:

Un exemplu este implementat ca un eveniment click pe butonul:

După cum puteți vedea, creează patru câmpuri - un tip de un șir de 20 de caractere, reale și de tip Data. Ultimul tip nu este inclusă în descrierea standard a ANSI-tipuri, cu toate acestea, funcționează în cele mai multe baze de date. De asemenea, puteți experimenta cu tipul boolean (Boolean).

Deci, vom face o variabilă s șir SQL înregistrări cerute. Apoi clar proprietatea SQL. în cazul în care a existat o cerere. În continuare vom înregistra cererea în proprietate SQL. și prin ExecSQL-l execute. Odată cu deschiderea mesei ne-am întâlnit anterior. Ca rezultat al codului este generat și se deschide fișierul MyTab.dbf situat în același dosar cu cererea.