Hallo,
bis jetzt habe ich objektorientierte Programmierung eher vermieden. Doch für ein aktuelles Projekt hätte ich gerne es eingesetzt, leider scheitert es bei mir an den Grundlagen und ist vermutlich ziemlich trivial.
Da mir die Begriffe für mein Problem fehlen, versuche ich meine Frage zu beschreiben:
Delphi-Quellcode:
type
TDatabase =
class(TObject)
public
procedure ConnectDB(host,user,pw:
String);
procedure SelectDB(DBName:
String);
procedure SQLQuery(
Query:
String;
var Cols:TCols;
var Rows:TRows);
end;
TMySQL =
class(TDatabase)
public
procedure ConnectDB(host,user,pw:
String);
procedure SelectDB(DBName:
String);
procedure SQLQuery(
Query:
String;
var Cols:TCols;
var Rows:TRows);
end;
TMySQLPhpTunnel =
class(TDatabase)
public
procedure ConnectDB(host,user,pw:
String);
procedure SelectDB(DBName:
String);
procedure SQLQuery(
Query:
String;
var Cols:TCols;
var Rows:TRows);
end;
implementation
procedure ZeigeInGui(
SQL: TDatabase);
//<----- wichtig ist hier!
var
i,j: Integer;
begin
SQL.SQLQuery('
SELECT * FROM TestTabelle');
for i:=0
to High(Rows[0])
for j:=0
to High(Rows)
do StringGrid1.Cells[i,j] rows[i,j];
//nur exemplarisch
end;
Ich habe aktuell eine Anwendung, das einerseits Daten von einer lokalen
MySQL-Datenbank ausliest und andererseits über PHP Tunnel Daten aus einer
MySql-Datenbank ausliest. Für die Datenbankkommunikation habe ich 2 verschiedene Objektklassen erstellt. Doch wie kann man eine Procedure/Funktion (in diesem Fall "procedure ZeigeInGui") bauen, das als Parameter beide Objektklassen (TMySQL u. TMySQLPhpTunnel) akzeptiert. Später sollte auch ein Objekt für
MSSQL dazukommen. Wie kann man sowas machen?
lg,
jus