⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 boldmysqlinterfaces.pas

📁 BDA mysql component for accessing mysql databases
💻 PAS
📖 第 1 页 / 共 2 页
字号:
//----------------------------------------------------------------------------------------
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 + -