Dodawanie kolumny

0

Mam tabelkę Paradox 7, używam standardowych komponentów D7.

Jak sprawdzić z poziomu programu czy kolumna w tabeli istnieje i jak nie to ją dodać, oczywiście nie tracąc zawartych w niej danych w pozostałych kolumach.

Potrzebuje jakiejś wskazówki, resztę doczytam w Helpie.

Pozdrawiam

0

polecenia sql IF NOT EXISTS (...) UPDATE TABLE (...)

[dopisane]

paradox obsługuje SQL, więc obsłuży (przynajmniej powinien [stuk]) powyższe zapytania.

0

Ale to chyba nie na plikach Paradox. W zawodzie pracuje na Oraclu i jest to banalne, ale tu chyba nie tak prosto.

0
function GetTypeStr(FieldType: TFieldType): string;
begin
  case FieldType of
    ftInteger: Result := 'Integer';
    ftString: Result := 'String';
    ftDate: Result := 'Date';
    ftDateTime: Result := 'DateTime';
    ftMemo: Result := 'Memo';
    ftFloat: Result := 'Float';
    ........
  else
    Result := 'UNKNOWN (?)';
  end;
end;

.......
const
  CRLF = #13#10;
// wylistowanie wszystkich pól tabeli Table1
for x := 0 to Table1.FieldCount - 1 do
begin
  RichEdit1.Lines.Add(
    'NAME: ' + Table1.Fields[x].FieldName + CRLF +
    'TYPE: ' + GetTypeStr(Table1.Fields[x].DataType) + CRLF + 
    'SIZE: ' + IntToStr(Table1.Fields[x].Size) + CRLF
  );
end;

TQuery + ALTER TABLE
np.:

Query1.SQL.Text := 'ALTER TABLE "moja_tabela.db" ' + 
'DROP Niepotrzebne_pole, ADD Nowe_pole CHAR(10)';
Query1.ExecSQL;
0

Pierwszy temat OK, działa.

Natomiast przy drugim mam błąd:
Capability not supported.
:-/

Dopisane
Doszedłem, jednak działa tylko zamiast typu Number należy użyć Numeric.

Dzięki

1 użytkowników online, w tym zalogowanych: 0, gości: 1