Breadcrumbs

mnsqlite3_exec

Query Execution.

Syntax

  func_mnsqlite3_exec.bmp

C++
FUNCTION mnsqlite3_exec : INT
VAR_INPUT
    pDB : DWORD;
    szQuery : STRING(255);
    pszErrMsg : POINTER TO STRING(255);
    paszData : POINTER TO ARRAY[0..0] OF STRING;
    dwDataArraySize : DWORD;
    pdwColoumnCount : POINTER TO DWORD;
    pdwRowCount : POINTER TO DWORD;
END_VAR

Parameters

Parameter

Description

pDB 

Handle of the database. 

szQuery 

Query String. 

pszErrMsg 

Return of error messages. 

paszData 

STRING(80) Array Buffer into which the read data is written. 

dwDataArraySize 

Size of the transferred buffer. 

pdwColoumnCount 

Number of columns read. 

pdwRowCount 

Number of rows read. 

Return value 

Return of the call. 


Example


C++
pDB : DWORD;
sDatabase : STRING := '\mystorage.sqlite';
iResult: INT;
sQuery: STRING := 'SELECT * FROM sqlite_master WHERE type=$'table$'';
sErrMsg: STRING;
aData: ARRAY [0..99] OF STRING;
dwColoumnCount: DWORD;
dwRowCount: DWORD;
i : INT;
ii : INT;
sColoumnName : STRING;
sTextValue : STRING;

pDB := mnsqlite3_open(szDatabase:= sDatabase, piResult:= ADR(iResult));

iResult := mnsqlite3_exec(pDB:= pDB,
                      szQuery:= sQuery,
                      pszErrMsg:= ADR(sErrMsg),
                      paszData:= ADR(aData),
                      dwDataArraySize:= SIZEOF(aData),
                      pdwColoumnCount := ADR(dwColoumnCount),
                      pdwRowCount := ADR(dwRowCount));

iResult := mnsqlite3_close(pDB:= pDB);


FOR i := 0 TO DWORD_TO_INT(dwColoumnCount) - 1 DO
	sColoumnName := mnsqlite3_GetColoumnName(iColoumn:= i,
                                         paszData:= ADR(aData),
                                         dwDataArraySize:= SIZEOF(aData),
                                         dwColoumnCount:= dwColoumnCount,
                                         dwRowCount:= dwRowCount);
END_FOR

FOR i := 0 TO DWORD_TO_INT(dwRowCount) - 1 DO
	FOR ii := 0 TO DWORD_TO_INT(dwColoumnCount) - 1 DO
     sTextValue := mnsqlite3_GetValue(iColoumn:= ii,
                                      iRow:= i,
                                      paszData:= ADR(aData),
                                      dwDataArraySize:= SIZEOF(aData),
                                      dwColoumnCount:= dwColoumnCount,
                                      dwRowCount:= dwRowCount);
	END_FOR
END_FOR

Requirements



Remarks