Mam do zrobienia program ktory bedzie edytowal i zmienial strukture danych dowolnej bazy interbase w delphi. Jakim poleceniem moge zmienic(metadane) nazwy (tabeli, danych w kolumnie,itd.)
ile jeszcze razy o to zapytasz??
Nie chce ci się poczytać to wystaw na forum założenia, ile możesz zapłacić i pewnie się znajdzie ktoś, kto to za ciebie napisze...
Jeszcze raz: METADANE SĄ ZAPISANE W NORMALNYCH TABELACH, KTÓRE MA KAŻDA BAZA FB (jakie to tabele dostałeś już w innym poście) I KTÓRE EDYTUJE SIĘ JAK KAŻDĄ INNĄ TABELE. Jak się z Delphi połączyć, wyświetlić dane z tabeli, edytować masz w artoch, w googlu i w kilku polskojęzycznych książkach
ok juz wszystko mam podlaczone i wydobywam informacje z tabel systemowych ale jakim poleceniem zmienic
nazwe tabeli bo probowalem roznie ale nie dziala
Wiktorix napisał(a)
ok juz wszystko mam podlaczone i wydobywam informacje z tabel systemowych ale jakim poleceniem zmienic
nazwe tabeli bo probowalem roznie ale nie dziala
No to szukaj albo:
- stwórz tabelę "tymczasową" z taką samą strukturą
- skopiuj wszystkie dane do tej tabeli
- usuń tabelę źródłową
- stwórz tabelę z nową nazwą
- skopiuj do niej wszystkie dane z tymczasowej
- usuń tabelę tymczasową.
:)
Próbuję zmienic nazwe tabeli w taki sposob ale wywala blad
procedure TForm5.Button2Click(Sender: TObject);
var nazwa:string;
begin
nazwa:=edit1.text;
with datamodule4.IBQuery5, SQL do
begin
Clear;
Add('ALTER TABLE '+form3.edit1.text+' RENAME '+nazwa+';');
execsql;
end;
end;
end.
UPDATE RDB$RELATIONS
SET RDB$RELATION_NAME='NEWNAME' WHERE
RDB$RELATION_NAME='OLDNAME';
UPDATE RDB$RELATION_FIELDS
SET RDB$RELATION_NAME='NEWNAME' WHERE
RDB$RELATION_NAME='OLDNAME' AND
RDB$SYSTEM_FLAG=0;
BTW Juchas jak masz tak podpowiadać to daj sobie spokój
BTW2 Wiktorix czy w ogóle otwierałeś te linki z opisem tabel systemowych, które ci kiedyś dałęm??
tak przydaly mi sie dziekuje zrobilem z nich zapytania ktore wyswietlaja mi informacje o tabelach. Tylko teraz musze zrobic edycje tych tabel. Mam tak ze w gridzie wyswietlaja mi sie nazwy Tabel bazy i chce po kliknieciu na nazwe edytowac ją do tego mam przycisk button ktory przenosi najpierw zaznaczona nazwe na inna formatke do edita gdzie wpisze nowa nazwe i pozniej klikam na tej formatce na buttona ktory ma zatwierdzic zmiane
Pozmienialem ta procedure ale wyskakuje blad co moze byc zle
procedure TForm5.Button2Click(Sender: TObject);
var nazwa:string;
begin
nazwa:=form3.edit1.text;
with datamodule4.IBQuery5, SQL do
begin
Clear;
Add('UPDATE RDB$RELATIONS SET RDB$RELATION_NAME= '+nazwa+' WHERE RDB$RELATION_NAME= '+form3.edit1.text+'');
execsql;
end;
end;
- nazwę tabeli zmienia się wykonując OBA te zapytania!
- jak wyskakuje błąd to TRZEBA NAPISAĆ JAKI!!
juz wszytko ok dziala tylko teraz chce jeszcze zrobic tak ze klikajac w tabeli na jakas dana wyswietlic jej wlasciwosci(metadane)w formularzu