Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Stergerea inregistrarilor dintr-o baza de date

fox pro



+ Font mai mare | - Font mai mic



Stergerea inregistrarilor dintr-o baza de date

Exista doua modalitati de lucru pentru stergerea inregistrarilor dintr-o baza de date:

Inregistrarile pot fi sterse in mod interactiv - folosind comenzile BROWSE sau CHANGE / EDIT si combinatia de taste CTRL + T;



putem sterge inregistrarile folosind comenzi specializate in acest sens. Stergerea inregistrarilor unei baze de date implica de fapt doua etape:

mai intai, se marcheaza inregistrarile care urmeaza a fi sterse ulterior (cu comanda DELETE); aceste inregistrari vor fi diferentiate de restul prin aceea ca sunt precedate de un "*" in orice listare a continutului bazei de date;

apoi se sterg efectiv inregistrarile, folosind comanda PACK.

Operatia de stergere este conceputa in acest mod pentru a se preintampina stergerea accidentala a unor inregistrari importante. Astfel, daca, dupa ce am marcat pentru stergere anumite inregistrari, ne dam seama ca am gresit (marcand inregistrari care sunt inca necesare), putem elimina marcajul, recapatand inregistrarile integral cu ajutorul comenzii RECALL.

De asemeni, este disponibila si o stergere globala, a tuturor inregistrarilor unei baze de date, fara posibilitatea de recuperare a lor, folosind comanda ZAP.

Comanda DELETE

sintaxa DELETE [<domeniu>] [FOR <conditie>]

efect: DELETE marcheaza pentru stergere inregistrarile selectate din baza de date curenta. Aceste inregistrari nu sunt eliminate fizic din baza de date, pana cand nu este folosita comanda PACK. Ele pot fi demarcate in orice moment folosind comanda RECALL.

Parametri

<domeniu> : are valorile posibile ALL, NEXT <expN>, RECORD <expN>, REST, prezentate anterior (comanda DISPLAY). Vor fi marcate pentru stergere numai inregistrarile din domeniul precizat. Domeniul implicit al comenzii DELETE este inregistrarea curenta (NEXT 1).

FOR <conditie > : vor fi marcate pentru stergere numai inregistrarile care satisfac conditia logica precizata.

RECALL

sintaxa: RECALL [<domeniu>] [FOR <conditie>]

efect RECALL demarcheaza inregistrarile care au fost marcate anterior pentru stergere in baza de date curenta. Comanda poate fi folosita pentru a recupera aceste inregistrari, dar numai daca nu au fost folosite deja comenzile PACK sau ZAP, caz in care inregistrarile marcate pentru stergere au fost sterse definitiv.

Parametri

<domeniu>, FOR <conditie> : au aceeasi semnificatie ca in cazul comenzii DELETE.

PACK

sintaxa PACK

efect: PACK elimina permanent toate inregistrarile marcate pentru stergere din baza de date curenta. Dupa ce inregistrarile au fost sterse cu aceasta comanda, nu mai este posibila recuperarea lor (RECALL nu mai are efect).

ZAP

sintaxa

ZAP

efect: ZAP elimina (sterge) toate inregistrarile din baza de date curenta, pastrand numai structura acesteia. Folosirea comenzii ZAP este echivalenta cu folosirea comenzilor DELETE ALL, si apoi PACK, dar ZAP este mai rapida.

Exemplu: In baza de date PERS.DBF, putem folosi urmatoarele comenzi de stergere:

Pentru a sterge pacientii care sunt din judetul Bacau:

delete for DOM_JUD='BC'

Daca se doreste apoi recuperarea acestor inregistrari, se va folosi comanda:

recall for DOM_JUD='BC'

Altfel, pentru stergere definitiva, se va folosi comanda:

pack

Pentru a sterge pacientii care sunt din orasul Vaslui:

delete for DOM_LOC='VASLUI'

Daca, dintre persoanele sterse anterior, dorim sa le recuperam pe cele cu numele 'POPESCU*, vom da comanda:

recall for DOM_LOC='VASLUI' and 'POPESCU' $ NUME_PREN

Dupa cum se observa din aceasta comanda, in FOXPRO avem doua modalitati distincte de a cauta un sir de caractere intr-un camp al unei baze de date, cu efect diferit:

NUME DE CAMP =' sir de caractere' : in acest mod vor fi selectate inregistrarile care contin sirul de caractere specificat intre '    ' pe prima pozitie in campul specificat al bazei de date;

'sir de caractere' $ NUME DE CAMP : in acest mod vor fi selectate inregistrarile care contin sirul specificat intre '    ' in orice pozitie in campul specificat al bazei de date.

Diferenta intre cele doua modalitati de cautare este clara atunci cand, de exemplu, dorim sa selectam din baza de date PERS.DBF persoanele cu prenumele 'IOANA', sau persoanele care locuiesc pe o anumita strada, in Iasi. Numele persoanelor sunt inregistrate in campul NUME_PREN, dar in succesiunea 'NUME, PRENUME'. Prin urmare, sirul de caractere corespunzator prenumelui nu apare pe prima pozitie in campul NUME_PREN; de aceea, o comanda de listare de forma

list for NUME_PREN='IOANA'

nu va furniza probabil nici o inregistrare care sa satisfaca conditia dorita, in timp ce o comanda de listare de forma

list for 'IOANA' $ NUME_PREN

va duce la afisarea inregistrarilor dorite.

Analog, pentru a selecta persoanele care locuiesc, de exemplu, pe strada Pacurari, comanda corecta va fi

list for 'STR. PACURARI' $ DOM_ADR

si nu

list for DOM_ADR= 'STR. PACURARI' .

Comanda DELETE FILE:

Este utila pentru stergerea directa a unui fisier de pe unitate de disc.

sintaxa: DELETE FILE <nume-fisier>

efect Sterge fisierul cu numele precizat, din pozitia precizata pe hard-disc (unitate de disc si subdirector). Se poate realiza in acest mod si stergerea simultana a unui grup de fisiere, precizate prin intermediul specificatorilor multipli de fisier - cu ajutorul caracterelor speciale ? si



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 2664
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved