Obsługa baz danych > Create - polecenie

Drukuj

Create - polecenie symp

Polecenie przeznaczone jest do stosowania tylko w programach linii Symfonia 2.0. W programach linii Symfonia ERP, w celu uzyskania dostępu do bazy danych, należy stosować polecenie GetADOConnection.

 

Polecenie tworzy nowy plik bazy danych.

Jeżeli istnieje już plik o identycznej nazwie jak tworzony, to wykonanie tego polecenia spowoduje nieodwracalne zamazanie poprzedniej zawartości pliku.

 

Składnia

Int Create String nazwaPliku  For Base String  nazwaBazy

 

Argumenty

Typ

Nazwa

Opis

String

nazwaPliku

Nazwa pliku dyskowego wraz z pełną ścieżką dostępu.

String

nazwaBazy

Tekstowy identyfikator bazy danych (opisany w zestawieniach baz danych lub zdefiniowany w obiekcie BaseDef).

 

Wartość zwracana

Zero, gdy operacja wykonana prawidłowo.

Wartość różna od zera, gdy operacja nie została wykonana.

 

Przykład

//Utworzenie struktury definicji bazy danych
BaseDef bDef
//Utworzenie nowej definicja tabeli typu "osoby"
bDef.New("Osoby")
//Zdefiniowanie pól tabeli
bDef.Field(15, 4, "ID")
bDef.Field(11, 40, "Nazwisko")
bDef.Field(11, 20, "Imie")
//Zdefiniowanie klucza podstawowego "ID", automatyczna numeracja
bDef.Key(0x0100, "ID")
//Określenie pola klucza podstawowego
bDef.KeyField(15, 4, "ID")
//Utworzenie i udostępnienie definicji
bDef.Create()
//Określenie położenia pliku bazy
String sciezka=KatalogFirmy() + "NOWABAZA.DAT"
//Utworzenie pliku bazy danych
Create sciezka For Base "Osoby"
//Ustalenie sposobu obsługi błędu tworzenia bazy
BaseError (sciezka, 4)
//Otworzenie bazy danych
Int nrBazy=Open sciezka For Base "Osoby"
BaseError (sciezka, 4)
//Wpisanie do bazy rekordu
SetKey (nrBazy, "ID")
SetKeySeg (nrBazy, "ID", 0)
SetField (nrBazy, "Nazwisko", "Nazwisko1")
SetField (nrBazy, "Imie", "Imię1")
InsRec (nrBazy)
baseError (nrBazy, 4)
//Zamknięcie pliku bazy danych
Close nrBazy
//Powtórne otworzenie pliku bazy danych
Int nrBazy1=Open sciezka For Base "Osoby"
baseError (nrBazy1, 4)
//Ustawienie rekordu bazy do odczytu
SetKey (nrBazy1, "ID")
SetKeySeg (nrBazy1, "ID", 1)
//Odczytanie rekordu bazy
GetRec (nrBazy1, EQ)
baseError (nrBazy1, 4)
//Sprawdzenie zapisanych w rekordzie informacji
String p1=GetField (nrBazy1, "Nazwisko")
String p2=GetField (nrBazy1, "Imie")
String wpis="Zawartość rekordu odczytana z bazy: "+" "+p1+" "+p2
Print wpis;LF
//Zmiana zawartości rekordu
SetField (nrBazy1, "Nazwisko", "NoweNazwisko1")
SetField (nrBazy1, "Imie", "NoweImię1")
PutRec (nrBazy)
//Ponowne ustawienie rekordu bazy do odczytu
SetKey (nrBazy1, "ID")
SetKeySeg (nrBazy1, "ID", 1)
//Sprawdzenie istnienia ustawianego rekordu
Int jest=GetKey (nrBazy1, EQ)
If jest then
Print "W bazie brak ustawianego rekordu"; LF
else
Print "W bazie istnieje ustawiony rekord"; LF
EndIf
//Sprawdzenie zawartości wybranego segmantu klucza ustawionego rekordu
Int Seg=GetKeySeg (nrBazy1, "ID")
Print "Segment ID klucza wybranego rekordu ma wartość: ", Seg; LF
//Odczyt nowej zawartości rekordu
GetRec(nrBazy1, EQ)
//Sprawdzenie zapisanych w rekordzie nowych informacji
String p1n=GetField (nrBazy1, "Nazwisko")
String p2n=GetField (nrBazy1, "Imie")
String wpisn="Zmieniona zawartość rekordu odczytana z bazy: "+" "+p1n+" "+p2n
Print wpisn;LF
//Usunięcie rekordu
SetKey (nrBazy1, "ID")
SetKeySeg (nrBazy1, "ID", 1)
DelRec (nrBazy1)
//Ponowne ustawienie rekordu bazy do odczytu usuniętego rekordu
SetKey (nrBazy1, "ID")
SetKeySeg (nrBazy1, "ID", 1)
//Sprawdzenie istnienia ustawianego rekordu
Int jest1=GetKey (nrBazy1, EQ)
If jest1 then
Print "Sprawdzenie usunięcia rekordu - rekord został usunięty"; LF
else
Print "Sprawdzenie usunięcia rekordu - rekord istnieje"; LF
EndIf
//Zamknięcie pliku bazy danych
Close nrBazy1
//Usunięcie pliku bazy danych
Delete File sciezka
//Sprawdzenie usunięcia pliku bazy danych
Int nrBazy2=Open sciezka For Base "Osoby"
If nrBazy2>0 then
Print "Sprawdzenie usunięcia pliku bazy - baza istnieje"; LF
Close nrBazy2
else
Print "Sprawdzenie usunięcia pliku bazy - baza została usunięta"; LF
EndIf