mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-10 09:49:27 +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;
|
||||
Procedure DisconnectDatabase;
|
||||
Function InsertQuery(const Query : string) : Integer;
|
||||
Function RunQuery (Qry : String; Var res : TQueryResult) : Boolean ;
|
||||
Procedure FreeQueryResult (Res : TQueryResult);
|
||||
Function GetResultField (Res : TQueryResult; Id : Integer) : String;
|
||||
Function IDQuery(Qry : String) : Integer;
|
||||
Function StringQuery(Qry : String) : String;
|
||||
Function EscapeSQL( S : String) : String;
|
||||
Function SQLDate(D : TDateTime) : String;
|
||||
Function SQLDate(D : TDateTime) : String;
|
||||
|
||||
var
|
||||
RelSrcDir,
|
||||
@ -166,6 +168,20 @@ begin
|
||||
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;
|
||||
|
||||
begin
|
||||
@ -245,6 +261,20 @@ begin
|
||||
Result:=IDQuery(Format(SFromIDS,[OSID,CPUID,VERSIONID,SQLDate(Date)]));
|
||||
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;
|
||||
|
||||
Const
|
||||
@ -252,15 +282,11 @@ Const
|
||||
'(TU_OS_FK,TU_CPU_FK,TU_VERSION_FK,TU_CATEGORY_FK,TU_DATE)'+
|
||||
' VALUES '+
|
||||
'(%d,%d,%d,%d,"%s")';
|
||||
|
||||
Var
|
||||
Res : TQueryResult;
|
||||
|
||||
var
|
||||
Qry : string;
|
||||
begin
|
||||
If RunQuery(Format(SInsertRun,[OSID,CPUID,VERSIONID,CATEGORYID,SQLDate(Date)]),Res) then
|
||||
Result:=mysql_insert_id(connection)
|
||||
else
|
||||
Result:=-1;
|
||||
qry:=Format(SInsertRun,[OSID,CPUID,VERSIONID,CATEGORYID,SQLDate(Date)]);
|
||||
Result:=InsertQuery(Qry);
|
||||
end;
|
||||
|
||||
function posr(c : Char; const s : AnsiString) : integer;
|
||||
@ -361,6 +387,7 @@ begin
|
||||
begin
|
||||
If RunQuery(Format(SInsertTest,[Name]),Res) then
|
||||
begin
|
||||
FreeQueryResult(Res);
|
||||
Result:=GetTestID(Name);
|
||||
If Result=-1 then
|
||||
Verbose(V_WARNING,'Could not find newly added test!')
|
||||
@ -411,7 +438,8 @@ begin
|
||||
Source,
|
||||
ID
|
||||
]);
|
||||
Result:=RunQuery(Qry,res)
|
||||
Result:=RunQuery(Qry,res);
|
||||
FreeQueryResult(Res);
|
||||
end;
|
||||
|
||||
Function AddTestResult(TestID,RunID,TestRes : Integer;
|
||||
@ -452,6 +480,7 @@ begin
|
||||
begin
|
||||
Verbose(V_Warning,'Insert Log failed');
|
||||
end;
|
||||
FreeQueryResult(Res);
|
||||
end;
|
||||
{ If test already existed, return false for is_new to avoid double counting }
|
||||
is_new:=not updateValues;
|
||||
@ -477,6 +506,7 @@ Var
|
||||
|
||||
begin
|
||||
Result:=RunQuery(Format(SDeleteRun,[ID]),Res);
|
||||
FreeQueryResult(Res);
|
||||
end;
|
||||
|
||||
begin
|
||||
|
Loading…
Reference in New Issue
Block a user