mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-17 12:49:32 +02:00
+ Add StringQuery and InsertQuery functions.
* Call FreeQueryResults if TQueryResult is discarded. git-svn-id: trunk@26207 -
This commit is contained in:
parent
0987129993
commit
85f138b409
@ -37,12 +37,14 @@ Type
|
|||||||
|
|
||||||
Function ConnectToDatabase(DatabaseName,Host,User,Password,Port : String) : Boolean;
|
Function ConnectToDatabase(DatabaseName,Host,User,Password,Port : String) : Boolean;
|
||||||
Procedure DisconnectDatabase;
|
Procedure DisconnectDatabase;
|
||||||
|
Function InsertQuery(const Query : string) : Integer;
|
||||||
Function RunQuery (Qry : String; Var res : TQueryResult) : Boolean ;
|
Function RunQuery (Qry : String; Var res : TQueryResult) : Boolean ;
|
||||||
Procedure FreeQueryResult (Res : TQueryResult);
|
Procedure FreeQueryResult (Res : TQueryResult);
|
||||||
Function GetResultField (Res : TQueryResult; Id : Integer) : String;
|
Function GetResultField (Res : TQueryResult; Id : Integer) : String;
|
||||||
Function IDQuery(Qry : String) : Integer;
|
Function IDQuery(Qry : String) : Integer;
|
||||||
|
Function StringQuery(Qry : String) : String;
|
||||||
Function EscapeSQL( S : String) : String;
|
Function EscapeSQL( S : String) : String;
|
||||||
Function SQLDate(D : TDateTime) : String;
|
Function SQLDate(D : TDateTime) : String;
|
||||||
|
|
||||||
var
|
var
|
||||||
RelSrcDir,
|
RelSrcDir,
|
||||||
@ -166,6 +168,20 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
Function StringQuery(Qry : String) : String;
|
||||||
|
|
||||||
|
Var
|
||||||
|
Res : TQueryResult;
|
||||||
|
|
||||||
|
begin
|
||||||
|
Result:='';
|
||||||
|
If RunQuery(Qry,Res) then
|
||||||
|
begin
|
||||||
|
Result:=GetResultField(Res,0);
|
||||||
|
FreeQueryResult(Res);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
Function EscapeSQL( S : String) : String;
|
Function EscapeSQL( S : String) : String;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
@ -245,6 +261,20 @@ begin
|
|||||||
Result:=IDQuery(Format(SFromIDS,[OSID,CPUID,VERSIONID,SQLDate(Date)]));
|
Result:=IDQuery(Format(SFromIDS,[OSID,CPUID,VERSIONID,SQLDate(Date)]));
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
Function InsertQuery(const Query : string) : Integer;
|
||||||
|
Var
|
||||||
|
Res : TQueryResult;
|
||||||
|
|
||||||
|
begin
|
||||||
|
If RunQuery(Query,Res) then
|
||||||
|
begin
|
||||||
|
Result:=mysql_insert_id(connection);
|
||||||
|
FreeQueryResult(Res);
|
||||||
|
end
|
||||||
|
else
|
||||||
|
Result:=-1;
|
||||||
|
end;
|
||||||
|
|
||||||
Function AddRun(OSID, CPUID, VERSIONID, CATEGORYID : Integer; Date : TDateTime) : Integer;
|
Function AddRun(OSID, CPUID, VERSIONID, CATEGORYID : Integer; Date : TDateTime) : Integer;
|
||||||
|
|
||||||
Const
|
Const
|
||||||
@ -252,15 +282,11 @@ Const
|
|||||||
'(TU_OS_FK,TU_CPU_FK,TU_VERSION_FK,TU_CATEGORY_FK,TU_DATE)'+
|
'(TU_OS_FK,TU_CPU_FK,TU_VERSION_FK,TU_CATEGORY_FK,TU_DATE)'+
|
||||||
' VALUES '+
|
' VALUES '+
|
||||||
'(%d,%d,%d,%d,"%s")';
|
'(%d,%d,%d,%d,"%s")';
|
||||||
|
var
|
||||||
Var
|
Qry : string;
|
||||||
Res : TQueryResult;
|
|
||||||
|
|
||||||
begin
|
begin
|
||||||
If RunQuery(Format(SInsertRun,[OSID,CPUID,VERSIONID,CATEGORYID,SQLDate(Date)]),Res) then
|
qry:=Format(SInsertRun,[OSID,CPUID,VERSIONID,CATEGORYID,SQLDate(Date)]);
|
||||||
Result:=mysql_insert_id(connection)
|
Result:=InsertQuery(Qry);
|
||||||
else
|
|
||||||
Result:=-1;
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function posr(c : Char; const s : AnsiString) : integer;
|
function posr(c : Char; const s : AnsiString) : integer;
|
||||||
@ -361,6 +387,7 @@ begin
|
|||||||
begin
|
begin
|
||||||
If RunQuery(Format(SInsertTest,[Name]),Res) then
|
If RunQuery(Format(SInsertTest,[Name]),Res) then
|
||||||
begin
|
begin
|
||||||
|
FreeQueryResult(Res);
|
||||||
Result:=GetTestID(Name);
|
Result:=GetTestID(Name);
|
||||||
If Result=-1 then
|
If Result=-1 then
|
||||||
Verbose(V_WARNING,'Could not find newly added test!')
|
Verbose(V_WARNING,'Could not find newly added test!')
|
||||||
@ -411,7 +438,8 @@ begin
|
|||||||
Source,
|
Source,
|
||||||
ID
|
ID
|
||||||
]);
|
]);
|
||||||
Result:=RunQuery(Qry,res)
|
Result:=RunQuery(Qry,res);
|
||||||
|
FreeQueryResult(Res);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
Function AddTestResult(TestID,RunID,TestRes : Integer;
|
Function AddTestResult(TestID,RunID,TestRes : Integer;
|
||||||
@ -452,6 +480,7 @@ begin
|
|||||||
begin
|
begin
|
||||||
Verbose(V_Warning,'Insert Log failed');
|
Verbose(V_Warning,'Insert Log failed');
|
||||||
end;
|
end;
|
||||||
|
FreeQueryResult(Res);
|
||||||
end;
|
end;
|
||||||
{ If test already existed, return false for is_new to avoid double counting }
|
{ If test already existed, return false for is_new to avoid double counting }
|
||||||
is_new:=not updateValues;
|
is_new:=not updateValues;
|
||||||
@ -477,6 +506,7 @@ Var
|
|||||||
|
|
||||||
begin
|
begin
|
||||||
Result:=RunQuery(Format(SDeleteRun,[ID]),Res);
|
Result:=RunQuery(Format(SDeleteRun,[ID]),Res);
|
||||||
|
FreeQueryResult(Res);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
|
Loading…
Reference in New Issue
Block a user