Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
Delphi 2009 Professional
|
Re: Überprüfen ob Spalte existiert
31. Mai 2009, 17:57
Naja,
ich habe es jetzt über den SQLITE_MASTER gelöst:
Delphi-Quellcode:
function TDatenbankWrapper.ColumnExists( const ATableName, AColumnName: string;
const AWrapper: TDatenbankWrapper): Boolean;
var
BufferTable : TSQLiteTable;
TableDesc, ColumnName : string;
Offset, NameEnd : Integer;
begin
Result := false;
BufferTable := GetTable(' SELECT sql FROM SQLITE_MASTER WHERE name = "' + ATableName + ' "', AWrapper);
try
TableDesc := BufferTable.FieldAsString(0);
Offset := Pos(' (', TableDesc);
while (Offset > 0) or ( not Result) do
begin
// Ignoring leading spaces
while TableDesc[Offset + 1] = ' ' do
Inc(Offset);
NameEnd := PosEx(' ', TableDesc, Offset + 1);
if NameEnd = 0 then
NameEnd := Pos(' )', TableDesc);
ColumnName := Copy(TableDesc, Offset + 1, NameEnd - Offset - 1);
if ColumnName = AColumnName then
Result := true;
Offset := PosEx(' ,', TableDesc, Offset + 1);
end;
finally
BufferTable.Free;
end;
end;
MfG
xZise
Fabian Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
|
|
Zitat
|