Quando uma query ou comando SQL possuir funções no parametro ou mais de uma tabela, pode haver erros na camada ODBC, ocasionada pela impossibilidade de descobrir o tipo de dado dos parametros passados;
Para evitar esse erro, pode-se concatenar o parâmetro do comando na string SQL ou usar a seguinte regra:
- Criar uma array multidimencional com os tipos de dados descritos abaixo:
set sql = " Update tab1 " _
" set Codigo = tab2.Codigo " _
" from Tabela1 tab1 " _
" left outer join Tabela2 tab2 on rtrim(tab2.Usuario) = rtrim(?) and tab2.Status = 'A' " _
" where Codigo = ?"
set pParams = 2
set pParams(1) = pRequest.Usuario
set pParams(2) = pRequest.Codigo
set pParams(1,"CType") = $$$SqlVarchar
set pParams(1,"SqlType") = $$$SqlVarchar
set pParams(2,"CType") = $$$SqlInteger
set pParams(2,"SqlType") = $$$SqlInteger
set rc = ..Adapter.ExecuteUpdateParmArray(.Linhas, sql, .pParams)
Nenhum comentário:
Postar um comentário