59 lines
1.0 KiB
Plaintext
59 lines
1.0 KiB
Plaintext
unit TestDatabaseManager;
|
|
|
|
interface
|
|
uses
|
|
ZConnection,
|
|
ZDataset,
|
|
ZExceptions;
|
|
|
|
|
|
type
|
|
TDatabaseManager = class
|
|
|
|
private
|
|
FConnection: TZConnection;
|
|
|
|
public
|
|
constructor Create(connection:TZConnection);
|
|
function SetupDatabase: Boolean;
|
|
|
|
end;
|
|
|
|
|
|
implementation
|
|
constructor TDatabaseManager.Create(connection:TZConnection);
|
|
begin
|
|
FConnection := connection;
|
|
end;
|
|
|
|
function TDatabaseManager.SetupDatabase: Boolean;
|
|
begin
|
|
var Query: TZQuery;
|
|
Query := TZQuery.Create(nil);
|
|
|
|
Query.Sql.Add('DROP TABLE IF EXISTS users');
|
|
try
|
|
Query.ExecSQL;
|
|
except
|
|
on E: EZSQLException do
|
|
begin
|
|
Exit(False);
|
|
end;
|
|
end;
|
|
|
|
Query.SQL.Clear;
|
|
Query.SQL.Add('CREATE TABLE IF NOT EXISTS users (id INT PRIMARY KEY, first_name VARCHAR(255), last_name VARCHAR(255), social_security_number VARCHAR(255), age INT);');
|
|
try
|
|
Query.ExecSQL;
|
|
except
|
|
on E: EZSQLException do
|
|
begin
|
|
Exit(False);
|
|
end;
|
|
end;
|
|
|
|
Result := True;
|
|
end;
|
|
|
|
end.
|