ADODB.Command erro 800a0bb9 - (URGENTE)

13/08/2015

Boa tarde amigos,

Estou com um problema e sei apenas o basíco.



o erro que esta dando e esse:



ADODB.Command erro '800a0bb9'

Os argumentos são incorretos, estão fora do intervalo aceitável ou estão em conflito.

/sistema/classes/Login.asp, linha 47

________________________________________________________________________________________________



Dim Cmd
Dim rsLogin, strSQL

Set Cmd = Server.CreateObject("ADODB.Command")
Cmd.ActiveConnection = Cnxn

strSQL = "SELECT * FROM TBL_USUARIO WHERE USU_LOGIN = ? AND USU_SENHA= ? AND USU_STATUS = '1'"

Cmd.CommandText = strSQL

Cmd.Parameters.Append Cmd.CreateParameter("@PARAM1",adVarChar,adParamInput,255, pLogin )
Cmd.Parameters.Append Cmd.CreateParameter("@PARAM2",adVarChar,adParamInput,255, pSenha )



OBS: Sistema está em ASP, e o banco de dados SQL SERVER



O que fazer ? *-*

Vinicius

Melhor resposta

13/08/2015

Quando postar código use a teag "</>" do primeiro ícone a esquerda.

Qual é a linha 47?

Tente assim:

strSQL = "SELECT * FROM TBL_USUARIO WHERE USU_LOGIN = @PARAM1 AND USU_SENHA= @PARAM2 AND USU_STATUS = '1'"

Jothaz

Responder Citar

Outras Respostas

13/08/2015

Vinicius

Ae Jothaz fiz conforme vc me pediu, porem nao funcionou... mesmo erro veja.


ADODB.Command erro '800a0bb9'

Os argumentos são incorretos, estão fora do intervalo aceitável ou estão em conflito.

/sistema/classes/Login.asp, linha 47
_______________________________________________________________________________________


Dim Cmd
Dim rsLogin, strSQL

Set Cmd = Server.CreateObject("ADODB.Command")
Cmd.ActiveConnection = Cnxn

strSQL = "SELECT * FROM TBL_USUARIO WHERE USU_LOGIN = @PARAM1 AND USU_SENHA= @PARAM2 AND USU_STATUS = '1'"

Cmd.CommandText = strSQL

ESSA AQUI E A LINHA 47 >>>>>> Cmd.Parameters.Append Cmd.CreateParameter("@PARAM1",adVarChar,adParamInput,255, pLogin )
Cmd.Parameters.Append Cmd.CreateParameter("@PARAM2",adVarChar,adParamInput,255, pSenha )

Aguardo sua ajuda!!
Responder Citar

13/08/2015

Jothaz

O campos pLogin e pSenha existem e contém valores?

Tente colocar um valor fixo que você sabe que existe no bd:
Cmd.Parameters.Append Cmd.CreateParameter("@PARAM1",adVarChar,adParamInput,255, "1" )
Responder Citar

13/08/2015

Vinicius

como faço pra identificar isso?
Responder Citar

13/08/2015

Vinicius

Dim Cmd
Dim rsLogin, strSQL

Set Cmd = Server.CreateObject("ADODB.Command")
Cmd.ActiveConnection = Cnxn

strSQL = "SELECT * FROM TBL_USUARIO WHERE USU_LOGIN = 1 AND USU_SENHA= 2 AND USU_STATUS = '1'"

Cmd.CommandText = strSQL

Cmd.Parameters.Append Cmd.CreateParameter("@PARAM1",adVarChar,adParamInput,255, "1" )
Cmd.Parameters.Append Cmd.CreateParameter("@PARAM2",adVarChar,adParamInput,255, "2" )


e continua a mesmo erro...
Responder Citar

13/08/2015

Jothaz

como faço pra identificar isso?


Só para contextualizar, você não conhece nada de programação é isto?

Este código é um exemplo que você baixou e esta tento rodar?

Porque dependendo do seu nível de conhecimento as sugestões que possa dar não vão lhe ajudar.

Por exemplo pelo que entendi você não tem ideia de com ver o conteúdo de um campo que esta usando. Eu sugiro que usar a janela Immediate Window para ver estes valores ou o Watch, só que se você nã conhece a IDE e eu sem sei qual IDE você esta usando. A minha sugestão não vai ajudar.
Responder Citar

13/08/2015

Vinicius

sei o basico do basico, configurar conexao do script com banco de dados. porem o script esta dando este erro.

teria alguma maneira de você me ajudar? Acesso Remoto, telefone ?
Responder Citar

13/08/2015

Jothaz

Vamos por partes.

Poste o código dentro da tag code:
[img]http://arquivo.devmedia.com.br/forum/imagem/418027-20150813-134542.png[/img]


Teste o códgio:

strSQL = "SELECT * FROM TBL_USUARIO WHERE USU_LOGIN = ? AND USU_SENHA= ? AND USU_STATUS = '1'"

Cmd.CommandText = strSQL

Cmd.Parameters.Append Cmd.CreateParameter("@PARAM1",adVarChar,adParamInput,255, "1")
Cmd.Parameters.Append Cmd.CreateParameter("@PARAM2",adVarChar,adParamInput,255, "1" )


Você sabe usar o debug?
Se souber use e acompanhe a execução linha a linha, assim poderá ver o conteúdo das varáveis.
Responder Citar

13/08/2015

Vinicius

        strSQL =  "SELECT * FROM TBL_USUARIO WHERE USU_LOGIN = ? AND USU_SENHA= ? AND USU_STATUS = '1'"

        Cmd.CommandText = strSQL

        Cmd.Parameters.Append Cmd.CreateParameter("@PARAM1",adVarChar,adParamInput,255, "1" )
        Cmd.Parameters.Append Cmd.CreateParameter("@PARAM2",adVarChar,adParamInput,255, "1" )




Fiz dessa maneira e não funcionou também, Não sei nem o que é debug
Responder Citar

13/08/2015

Jothaz

Olha para facilitar sua vida procure pesquisar e aprender a usar o Debug no Visual Studio, assim fica muito mais fácil achar os erro e ajudá-lo.
Não vou ensinar a debugar aqui pois vai ficar um post enorme e não seria produtivo.

Tente assim:

strSQL = "SELECT * FROM TBL_USUARIO WHERE USU_LOGIN = ? AND USU_SENHA= ? AND USU_STATUS = '1'"
 
Cmd.CommandText = strSQL
 
Parameters.Append .CreateParameter("@PARAM1",adVarChar,adParamInput,255, "1")
Parameters.Append .CreateParameter("@PARAM2",adVarChar,adParamInput,255, "1" )
Responder Citar

13/08/2015

Vinicius

Beleza vou começar a pesquisar sobre Debug no Visual Studio...

Coloquei esse ultimo que você me passou ele volto error....



Erro de tempo de execução do Microsoft VBScript erro '800a01f9'

Referência inválida ou não qualificada

/sistema/classes/Login.asp, linha 47

________________________________________________________________________

strSQL = "SELECT * FROM TBL_USUARIO WHERE USU_LOGIN = ? AND USU_SENHA= ? AND USU_STATUS = '1'"
  
        Cmd.CommandText = strSQL
  
        Parameters.Append .CreateParameter("@PARAM1",adVarChar,adParamInput,255, "1")
        Parameters.Append .CreateParameter("@PARAM2",adVarChar,adParamInput,255, "1" )
Responder Citar

13/08/2015

Jothaz

Teste:

		strSQL = "SELECT * FROM TBL_USUARIO WHERE USU_LOGIN = ? AND USU_SENHA= ? AND USU_STATUS = '1'"
   
        Cmd.CommandText = strSQL
   
        Cmd.Parameters.Append .CreateParameter("PARAM1",adVarChar,adParamInput,255, "1")
        Cmd.Parameters.Append .CreateParameter("PARAM2",adVarChar,adParamInput,255, "1" )


Ou:

		strSQL = "SELECT * FROM TBL_USUARIO WHERE USU_LOGIN = ? AND USU_SENHA= ? AND USU_STATUS = '1'"
   
        Cmd.CommandText = strSQL
   
        Cmd.Parameters.Append .CreateParameter(,adVarChar,adParamInput,255, "1")
        Cmd.Parameters.Append .CreateParameter(,adVarChar,adParamInput,255, "1" )
Responder Citar

13/08/2015

Vinicius

O primeiro deu:

Erro de tempo de execução do Microsoft VBScript erro '800a01f9'

Referência inválida ou não qualificada

/sistema/classes/Login.asp, linha 47
strSQL = "SELECT * FROM TBL_USUARIO WHERE USU_LOGIN = ? AND USU_SENHA= ? AND USU_STATUS = '1'"
 
Cmd.CommandText = strSQL
 
Cmd.Parameters.Append .CreateParameter("PARAM1",adVarChar,adParamInput,255, "1")
Cmd.Parameters.Append .CreateParameter("PARAM2",adVarChar,adParamInput,255, "1" )

________________________________________________________________________

O segundo deu:


Erro de tempo de execução do Microsoft VBScript erro '800a01f9'

Referência inválida ou não qualificada

/sistema/classes/Login.asp, linha 47
strSQL = "SELECT * FROM TBL_USUARIO WHERE USU_LOGIN = ? AND USU_SENHA= ? AND USU_STATUS = '1'"
 
Cmd.CommandText = strSQL
 
Cmd.Parameters.Append .CreateParameter(,adVarChar,adParamInput,255, "1")
Cmd.Parameters.Append .CreateParameter(,adVarChar,adParamInput,255, "1" )
Responder Citar

13/08/2015

Jothaz

Sem ver seu ambiente, sem debugar fica muito dificil ajudar.

Veja este exemplo da própria Microsoft.

Option Explicit On
Option Strict On

Imports System
Imports System.Data
Imports System.Data.SqlClient

Public Class Program
    Public Shared Sub Main()

        Dim connectionString As String = _
            "Data Source=(local);Initial Catalog=Northwind;Integrated Security=true"

        ' Provide the query string with a parameter placeholder.
        Dim queryString As String = "SELECT ProductID, UnitPrice, ProductName from dbo.Products WHERE UnitPrice > @pricePoint ORDER BY UnitPrice DESC;"

        ' Specify the parameter value.
        Dim paramValue As Integer = 5

        ' Create and open the connection in a using block. This
        ' ensures that all resources will be closed and disposed
        ' when the code exits.
        Using connection As New SqlConnection(connectionString)

            ' Create the Command and Parameter objects.
            Dim command As New SqlCommand(queryString, connection)
            command.Parameters.AddWithValue("@pricePoint", paramValue)

            ' Open the connection in a try/catch block. 
            ' Create and execute the DataReader, writing the result
            ' set to the console window.
            Try
                connection.Open()
                Dim dataReader As SqlDataReader = command.ExecuteReader()
                Do While dataReader.Read()
                    Console.WriteLine(vbTab & "" & vbTab & "" & vbTab & "", dataReader(0), dataReader(1), dataReader(2))
                Loop
                dataReader.Close()

            Catch ex As Exception
                Console.WriteLine(ex.Message)
            End Try
            Console.ReadLine()
        End Using
    End Sub
End Class


Veja se consegue adaptar o código acima dentro do seu cenário. Faça uma query com somente um parâmetro e depois que funcoanr coloque os outros.

Na linha:

command.Parameters.AddWithValue("@pricePoint", paramValue)


Troque para:

command.Parameters.AddWithValue("@pricePoint", "1")
Responder Citar

13/08/2015

Vinicius

Sem sucesso, bom vou tenta contactar o programador do sistema, vai ser um pouco dificil pois ele trocou de profissão.

mais muito obrigado pelas dicas, vou pesquisar sobre debug do visual.. quem sabe até eu mesmo arrumo esse pequeno erro rs.

Muito obrigado pela ajuda, qualquer coisa volto a postar aqui!! Abraços
Responder Citar

13/08/2015

Jothaz

Sem sucesso, bom vou tenta contactar o programador do sistema, vai ser um pouco dificil pois ele trocou de profissão. mais muito obrigado pelas dicas, vou pesquisar sobre debug do visual.. quem sabe até eu mesmo arrumo esse pequeno erro rs. Muito obrigado pela ajuda, qualquer coisa volto a postar aqui!! Abraços


Deve uma besteira.

Dá uma pesquisada no uso do debug e veja os exemplos do uso do CreateParameter no vb.net.
Responder Citar