:: STORED PROCEDURE - MOVEFIRST / MOVELAST ::
Pessoal,
Preciso de uma ajuda no seguinte.... tenho uma SUB que executa uma stored procedure e retorna um recordset... porém naum estou conseguindo executar o MoveFirst / MoveLast para eu poder buscar a informação de RecordCount...
Caso alguém já passou por isso e puder me ajudar... estou aguardando...
Obrigado...
Preciso de uma ajuda no seguinte.... tenho uma SUB que executa uma stored procedure e retorna um recordset... porém naum estou conseguindo executar o MoveFirst / MoveLast para eu poder buscar a informação de RecordCount...
Caso alguém já passou por isso e puder me ajudar... estou aguardando...
Obrigado...
vc precisa dizer o erro
Nesse momento naum estou com o codigo aki... mas a mensagem que aparece... naum saberei dizer exatamente.... mas a impressao que tenho é que a stored procedure esta retornando um recordset READONLY... entaum naum posso mover para nenhum registro....
eu tenho que começar no primeiro e apenas executar o MOVENEXT....
naum sei se fui claro mas... na segunda pegarei a mensagem exata e envio...
mas desde ja obrigado pela ajuda...
falow
eu tenho que começar no primeiro e apenas executar o MOVENEXT....
naum sei se fui claro mas... na segunda pegarei a mensagem exata e envio...
mas desde ja obrigado pela ajuda...
falow
A questão está na abertura do RecordSet.
'Tenta algo assim:
'Crie uma string com o nome da procedure seguida dos seus parametros na order correta
strSQL = "StoredProcedureName Param1, Param2, ... , ParamN"
'Abra um recordset e preste atenção nas opções possÃveis no parametro onde 'escolhi "adOpenForwardOnly" .. aqui dizemos como o RS resultante será navegado 'e também nas opções disponiveis onde coloquei "adLockReadOnly" que define 'sobre permissões para alterações nos registros. (As opções abaixo são as mais rapidas)
RS.Open strSQL, Cnn, adOpenForwardOnly, adLockReadOnly
'Tendo um Recordset (vazio ou com registros) o percorreremos ate o final
while not rs.EOF
'faça algo como preencher uma ComboBox com o RS.
cmbCliente.AddItem Rs!nm_cliente & ""
'A cada loop vamos ao proximo registro
rs.MoveNext
wend
'Fechamos o Recordset
Rs.Close
'Destruimos a variavel to tipo objeto explicitamente uma vez que o VB não 'executa a tarefa a contento
Set Rs= Nothing
Axo que resolve seu caso.
'Tenta algo assim:
'Crie uma string com o nome da procedure seguida dos seus parametros na order correta
strSQL = "StoredProcedureName Param1, Param2, ... , ParamN"
'Abra um recordset e preste atenção nas opções possÃveis no parametro onde 'escolhi "adOpenForwardOnly" .. aqui dizemos como o RS resultante será navegado 'e também nas opções disponiveis onde coloquei "adLockReadOnly" que define 'sobre permissões para alterações nos registros. (As opções abaixo são as mais rapidas)
RS.Open strSQL, Cnn, adOpenForwardOnly, adLockReadOnly
'Tendo um Recordset (vazio ou com registros) o percorreremos ate o final
while not rs.EOF
'faça algo como preencher uma ComboBox com o RS.
cmbCliente.AddItem Rs!nm_cliente & ""
'A cada loop vamos ao proximo registro
rs.MoveNext
wend
'Fechamos o Recordset
Rs.Close
'Destruimos a variavel to tipo objeto explicitamente uma vez que o VB não 'executa a tarefa a contento
Set Rs= Nothing
Axo que resolve seu caso.
O post acima leva em considersação que NÃO esteja utilizando data control e qua a tecnologia de acesso a dados seja ADO.
Tópico encerrado , respostas não são mais permitidas