?? boldmysqlinterfaces.pas
字號:
//----------------------------------------------------------------------------------------
constructor TBoldMYSQLDatabase.create(DataBase: TmySQLDatabase; SQLDataBaseConfig: TBoldSQLDatabaseConfig);
begin
inherited create(SQLDataBaseConfig);
MMT_COLUMNS_COLUMN := 'BOLD_COLUMNS';
FDataBase := DataBase;
end;
//----------------------------------------------------------------------------------------
destructor TBoldMYSQLDatabase.destroy;
begin
inherited;
FDatabase := nil;
FreeAndNil(fCachedQuery);
MMT_COLUMNS_COLUMN := 'COLUMNS';
end;
//----------------------------------------------------------------------------------------
function TBoldMYSQLDatabase.GetConnected: Boolean;
begin
result := Database.Connected;
end;
//----------------------------------------------------------------------------------------
function TBoldMYSQLDatabase.GetDataBase: TmySQLDatabase;
begin
result := FDataBase;
end;
//----------------------------------------------------------------------------------------
function TBoldMYSQLDatabase.GetInTransaction: Boolean;
begin
result := Database.InTransaction;
end;
//----------------------------------------------------------------------------------------
function TBoldMYSQLDatabase.GetIsSQLBased: Boolean;
begin
result := true;
end;
//----------------------------------------------------------------------------------------
function TBoldMYSQLDatabase.GetKeepConnection: Boolean;
begin
result := true;
end;
//----------------------------------------------------------------------------------------
function TBoldMYSQLDatabase.GetLogInPrompt: Boolean;
begin
result := dataBase.LoginPrompt;
end;
//----------------------------------------------------------------------------------------
function TBoldMYSQLDatabase.GetQuery: IBoldQuery;
var
Query: TmySQLQuery;
begin
if assigned(fCachedQuery) then
begin
Query := fCachedQuery;
fCachedQuery := nil;
end
else
begin
Query := TmySQLQuery.Create(nil);
Query.Database := Database;
end;
result := BoldMYSQLQueryClass.Create(Query, self);
end;
//----------------------------------------------------------------------------------------
function TBoldMYSQLDatabase.GetTable: IBoldTable;
begin
result := nil;
end;
//----------------------------------------------------------------------------------------
procedure TBoldMYSQLDatabase.Open;
begin
Database.Open;
end;
//----------------------------------------------------------------------------------------
procedure TBoldMYSQLDatabase.ReleaseCachedObjects;
begin
FreeAndNil(fCachedQuery);
end;
//----------------------------------------------------------------------------------------
procedure TBoldMYSQLDatabase.ReleaseQuery(var Query: IBoldQuery);
var
OdaQuery: TBoldMYSQLQuery;
begin
if Query.Implementor is TBoldMYSQLQuery then begin
OdaQuery := Query.Implementor as TBoldMYSQLQuery;
Query := nil;
if not assigned(FCachedQuery) then begin
FCachedQuery := OdaQuery.FQuery;
if FCachedQuery.Active then
FCachedQuery.Close;
FCachedQuery.SQL.Clear;
end
else
OdaQuery.FQuery.free;
OdaQuery.Free;
end;
end;
//----------------------------------------------------------------------------------------
procedure TBoldMYSQLDatabase.ReleaseTable(var Table: IBoldTable);
begin
raise Exception.Create('BoldMYSQLAdapter.ReleaseTable: Operation not supported');
end;
//----------------------------------------------------------------------------------------
procedure TBoldMYSQLDatabase.Rollback;
begin
Database.Rollback;
end;
//----------------------------------------------------------------------------------------
procedure TBoldMYSQLDatabase.SetKeepConnection(NewValue: Boolean);
begin
end;
//----------------------------------------------------------------------------------------
procedure TBoldMYSQLDatabase.SetlogInPrompt(NewValue: Boolean);
begin
Database.LoginPrompt := NewValue;
end;
//----------------------------------------------------------------------------------------
procedure TBoldMYSQLDatabase.StartTransaction;
begin
Database.StartTransaction;
end;
//----------------------------------------------------------------------------------------
function TBoldMYSQLDatabase.SupportsTableCreation: boolean;
begin
result := false;
end;
//----------------------------------------------------------------------------------------
constructor TBoldMYSQLParameter.create(MYSQLParameter: TParam; DatasetWrapper: TBoldDatasetWrapper);
begin
inherited Create(DatasetWrapper);
fParameter := MYSQLParameter;
end;
//----------------------------------------------------------------------------------------
function TBoldMYSQLParameter.GetAsBCD: Currency;
begin
result := parameter.Value;
end;
//----------------------------------------------------------------------------------------
function TBoldMYSQLParameter.GetAsBoolean: Boolean;
begin
result := parameter.Value;
end;
//----------------------------------------------------------------------------------------
function TBoldMYSQLParameter.GetAsCurrency: Currency;
begin
result := parameter.Value;
end;
//----------------------------------------------------------------------------------------
function TBoldMYSQLParameter.GetAsDateTime: TDateTime;
begin
result := parameter.Value;
end;
//----------------------------------------------------------------------------------------
function TBoldMYSQLParameter.GetAsFloat: Double;
begin
result := parameter.Value;
end;
//----------------------------------------------------------------------------------------
function TBoldMYSQLParameter.GetAsInteger: Longint;
begin
result := parameter.Value;
end;
//----------------------------------------------------------------------------------------
function TBoldMYSQLParameter.GetAsMemo: string;
begin
result := parameter.Value;
end;
//----------------------------------------------------------------------------------------
function TBoldMYSQLParameter.GetAsString: string;
begin
result := parameter.Value;
if result = DatasetWrapper.DatabaseWrapper.SQLDatabaseConfig.EmptyStringMarker then
result := '';
end;
//----------------------------------------------------------------------------------------
function TBoldMYSQLParameter.GetAsVariant: Variant;
begin
result := parameter.Value;
end;
//----------------------------------------------------------------------------------------
function TBoldMYSQLParameter.GetDataType: TFieldType;
begin
result := parameter.DataType;
end;
//----------------------------------------------------------------------------------------
function TBoldMYSQLParameter.GetIsNull: Boolean;
begin
result := VarIsNull(Parameter.value)
end;
//----------------------------------------------------------------------------------------
function TBoldMYSQLParameter.GetName: String;
begin
result := Parameter.Name;
end;
//----------------------------------------------------------------------------------------
function TBoldMYSQLParameter.GetParameter: TParam;
begin
result := fParameter;
end;
//----------------------------------------------------------------------------------------
procedure TBoldMYSQLParameter.SetAsBCD(const Value: Currency);
begin
Parameter.Value := Value;
end;
//----------------------------------------------------------------------------------------
procedure TBoldMYSQLParameter.SetAsBlob(const Value: TBlobData);
begin
with Parameter do begin
if (DataType = ftUnknown) or (DataType = ftBlob)
then begin
DataType := ftBlob;
ParamType:=ptInput;
end;
end;
if value = '' then
Parameter.Value := DatasetWrapper.DatabaseWrapper.SQLDatabaseConfig.EmptyStringMarker
else
Parameter.Value := Value;
end;
//----------------------------------------------------------------------------------------
procedure TBoldMYSQLParameter.SetAsBoolean(Value: Boolean);
begin
Parameter.Value := Value;
end;
//----------------------------------------------------------------------------------------
procedure TBoldMYSQLParameter.SetAsCurrency(const Value: Currency);
begin
Parameter.Value := Value;
end;
//----------------------------------------------------------------------------------------
procedure TBoldMYSQLParameter.SetAsDate(const Value: TDateTime);
begin
Parameter.Value := Value;
end;
//----------------------------------------------------------------------------------------
procedure TBoldMYSQLParameter.SetAsDateTime(const Value: TDateTime);
begin
Parameter.Value := Value;
end;
//----------------------------------------------------------------------------------------
procedure TBoldMYSQLParameter.SetAsFloat(const Value: Double);
begin
Parameter.Value := Value;
end;
//----------------------------------------------------------------------------------------
procedure TBoldMYSQLParameter.SetAsInteger(Value: Integer);
begin
Parameter.Value := Value;
end;
//----------------------------------------------------------------------------------------
procedure TBoldMYSQLParameter.SetAsMemo(const Value: string);
begin
Parameter.Value := Value;
end;
//----------------------------------------------------------------------------------------
procedure TBoldMYSQLParameter.SetAsSmallInt(Value: Integer);
begin
Parameter.Value := Value;
end;
//----------------------------------------------------------------------------------------
procedure TBoldMYSQLParameter.SetAsString(const Value: string);
begin
if value = '' then
Parameter.Value := DatasetWrapper.DatabaseWrapper.SQLDatabaseConfig.EmptyStringMarker
else
Parameter.Value := Value
end;
//----------------------------------------------------------------------------------------
procedure TBoldMYSQLParameter.SetAsTime(const Value: TDateTime);
begin
Parameter.Value := Value;
end;
//----------------------------------------------------------------------------------------
procedure TBoldMYSQLParameter.SetAsVariant(const NewValue: Variant);
begin
Parameter.Value := NewValue;
end;
//----------------------------------------------------------------------------------------
procedure TBoldMYSQLParameter.SetAsWord(Value: Integer);
begin
Parameter.Value := Value;
end;
//----------------------------------------------------------------------------------------
procedure TBoldMYSQLParameter.SetDataType(Value: TFieldType);
begin
Parameter.DataType := Value;
end;
//----------------------------------------------------------------------------------------
procedure TBoldMYSQLParameter.SetText(const Value: string);
begin
Parameter.Value := Value;
end;
//----------------------------------------------------------------------------------------
procedure TBoldMYSQLParameter.AssignFieldValue(source: IBoldField);
begin
Parameter.Assign(Source.Field);
end;
//****************************************************************************************
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -