mojaSymfonia FORUM https://forum.mix-soft.pl/ |
|
Nowa tabela w bazie danych https://forum.mix-soft.pl/viewtopic.php?f=15&t=9652 |
Strona 1 z 1 |
Autor: | Zenek N [ 2020-08-04, 11:25 ] |
Tytuł: | Nowa tabela w bazie danych |
Cześć utworzyłem nową tabelę w bazie danych poprzez panel pcc.exe, o nazwie Aw a dokładniej: Cytuj: baseAw aw otrzymuję komunikat Cytuj: Błąd składni języka Niezdefiniowany symbol baseAw aw |
Autor: | sniez [ 2020-08-04, 11:57 ] |
Tytuł: | Re: Nowa tabela w bazie danych |
HANDEL ma zaszyte definicje tabel wbudowanych gdzieś "wewnątrz" ;) Jak robisz swoją - zbuduj inkluda, który będzie zawierał definicję Twojej nowej bazy . Basedef field key keyfield Znajdziesz w pomocy AMBASIC - dodawania bazy. Taką samą definicję musisz mieć, aby taką niestandardową bazę odczytać. |
Autor: | Zenek N [ 2020-08-04, 12:39 ] |
Tytuł: | Re: Nowa tabela w bazie danych |
Ogólnie potrzebuję przechować tymczasową wartość gdzieś w bazie danych, gdzie taką wartość mogę ulokować aby nie kolidowało |
Autor: | sniez [ 2020-08-04, 13:10 ] |
Tytuł: | Re: Nowa tabela w bazie danych |
No ale to, to masz akurat w helpie - działający kod - zakładanie bazy, dodawanie i odczyt rekordów i kasowanie bazy. Wszystko jest. https://pomoc.sage.com.pl/Help/ambasic/-/100/27130 Kod: //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 |
Strona 1 z 1 | Strefa czasowa UTC+1godz. [letni] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |