Histórico da Página
...
Descrição:
Informa a query a ser executada, deve ser utilizada a construção com os parametros com ? ao invés do valor, que posteriormente serão passados via setString, SetDate , etc, no caso de tabelas do dicionário de dados usarem a construção idêntica ao Embbeded SQL (%table:AliasEmDic%).
Parâmetros:
Nome | Tipo | Descrição |
---|---|---|
cQuery | Caracter | Query em SQL ANSI |
...
Descrição:
Executa a Query
Parâmetros:
Nome | Tipo | Descrição |
---|---|---|
cAlias | Caracter | Alias a ser criado |
aSetField | Array | Vetor com os campos para execução de TCSetField com a estrutura: [1] Nome do Campo |
Retorno:
xRet
...
setFields()
Sintaxe:
FWPreparedStatement():setFields( aSelect ) ->
...
Descrição:
Executa o TCSetField para todos os campos informados via parâmetro SetFields. É necessário que a query já esteja aberta.
Parâmetros:
Nome | Tipo | Descrição |
---|---|---|
cAlias | Caracter | Alias que será realizado o TCSetField |
...
getResultArray()
Sintaxe:
FWPreparedStatement():getResultArray( cAlias , lClose ) -> aResult
...
Descrição:
Seta o Objeto
Parâmetros:
Nome | Tipo | Descrição |
---|---|---|
oObj | Objeto | Objeto de conexão externo (ver Classe: FWDBAccess) |
...
setNumeric()
Sintaxe:
FWPreparedStatement():setNumeric( nParam , nValue ) ->
...
Nome | Tipo | Descrição |
---|---|---|
aParams | Array | Array com o valores a serem testados |
...
setUnsafe()
Sintaxe:
FWPreparedStatement():SetUnsafe( nParam , xValue)
Descrição:
Seta um parâmetro na query. Parâmetros iniciam sempre com 1.
Obs.: Por enviar um parâmetro de forma não segura para o statment ele nunca deve ser utilizado
para inserir um parâmetro recebido por uma requisição HTTP, por exemplo, pois ele pode
receber um SqlInjection e causar problemas no sistema. Somente utilize este método
se você estiver seguro que o parâmetro enviado é seguro (por exemplo, trocar o nome de uma tabela de forma dinâmica)
Parâmetros:
Nome | Tipo | Descrição |
---|---|---|
nParam | Numérico | Número do parâmetro (1..N) |
XValue | Variant | Valor do conteúdo a ser incluído |
Retorno:
nil
...
Exemplo de Uso da Classe
Bloco de código |
---|
User Function tPrepStat
Local oStatement
Local cQuery
Local cFinalQuery
Local cUser := "000001"
Local cPassword := "testeFWPS"
oStatement := FWPreparedStatement():New()
cQuery := "SELECT * FROM users WHERE username=? AND password=?"
//Define a consulta e os parâmetros
oStatement:SetQuery(cQuery)
oStatement:SetString(1,cUser)
oStatement:SetString(2,cPassword)
//Recupera a consulta já com os parâmetros injetados
cFinalQuery := oStatement:GetFixQuery() |