![]() | ![]() Products ![]() ![]() ![]() ![]() |
Home » Technical Support » ElevateDB Technical Support » Frequently Asked Questions |
uses edbcomps, edbconfig, edbstring; function CheckIdentifier(const Value: String): String; begin Result:=MakeValidIdentifier(Value); if (Length(Result) > IDENTIFIER_LENGTH) then Result:=Copy(Result,1,IDENTIFIER_LENGTH); end; function GetCreateTableStatement(DataSet: TEDBDataSet; const TableName: String; TemporaryTable: Boolean=False): String; var TempTableName: String; TempSQL: TStrings; I: Integer; TempFieldName: String; TempFieldSQL: String; begin TempSQL:=TStringList.Create; try TempTableName:=CheckIdentifier(TableName); with DataSet do begin Open; FieldDefs.Update; if TemporaryTable then TempSQL.Add('CREATE TEMPORARY TABLE '+QuotedString(TempTableName,'"')) else TempSQL.Add('CREATE TABLE '+QuotedString(TempTableName,'"')); TempSQL.Add('('); for I:=0 to FieldDefs.Count-1 do begin TempFieldName:=CheckIdentifier(FieldDefs[I].Name); TempFieldSQL:=QuotedString(TempFieldName,'"')+' '+ UpperCaseString(FieldTypeToSQL(FieldDefs[I].DataType, FieldDefs[I].Size)); {$IFDEF D10ORHIGHER} if (FieldDefs[I].DataType in [ftWideString,ftFixedWideChar, ftString,ftFixedChar,ftGUID,ftWideMemo, ftMemo]) then {$ELSE} if (FieldDefs[I].DataType in [ftWideString,ftString,ftFixedChar,ftGUID, ftMemo]) then {$ENDIF} TempFieldSQL:=TempFieldSQL+' COLLATE '+QuotedString(GetCollationForField(FieldDefs[I].Name),'"'); if (I < (FieldDefs.Count-1)) then TempFieldSQL:=TempFieldSQL+','; TempSQL.Add(TempFieldSQL); end; TempSQL.Add(')'); Result:=TempSQL.Text; end; finally FreeAndNil(TempSQL); end; end;
This web page was last updated on Wednesday, January 5, 2022 at 07:36 AM | Privacy Policy![]() © 2025 Elevate Software, Inc. All Rights Reserved Questions or comments ? ![]() |