1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

[ executenonquery ] peoblemas graves

Discussão em 'Web Development' iniciada por alfinete, 15 de Junho de 2007. (Respostas: 2; Visualizações: 782)

  1. alfinete

    alfinete Power Member

    tenho este code para guardar os respectivos dados numa tabela, em sqlserver

    Código:
    
       If stock_prod > 0 Then
    
                            Dim ligacao_stock = New SqlConnection("data source=(local);initial catalog=Pedidos;" & _
                                                                  "integrated security=SSPI;persist security info=True")
    
                            ligacao_stock.open()
    
    
    
                            inserir_sql_stock = " Insert into Tab_Pedidos_requisitados( " & _
                                         " Data,Quantidade,Id_utilizador,Id_produto) " & _
                                         " values (@Data,@Quantidade,@id_utilizador,@id_produto)"
    
                            Dim comando = New SqlCommand(inserir_sql_stock, ligacao_stock)
    
                            ' cria as variaveis tipo sql parameter associadas aos respectivos tipos
                            Dim Data As SqlParameter = New SqlParameter("@Data", SqlDbType.VarChar)
                            Dim Quantidade As SqlParameter = New SqlParameter("@Quantidade", SqlDbType.BigInt)
                            Dim Id_utilizador As SqlParameter = New SqlParameter("@id_utilizador", SqlDbType.BigInt)
                            Dim Id_produto As SqlParameter = New SqlParameter("@id_produto", SqlDbType.Int)
    
                            ' atribui o valor inserido no formulario de cada caixa de texto 
                            '  a variavel criada a cima
                            Data.Value = dia
                            Quantidade.Value = pedido_posto - stock_pendente
                            Id_utilizador.Value = id_util
                            Id_produto.Value = id_prod
    
                            '  insere os valores na bd
                            comando.Parameters.Add(Data)
                            comando.Parameters.Add(Quantidade)
                            comando.Parameters.Add(Id_utilizador)
                            comando.Parameters.Add(Id_produto)
    
                            'retorna o número de registros afetados pela instrução SQL
                         
    
                            num = comando.executenonquery
    
    
                            If num = 1 Then
    
                                Me.Lbl_mensagem.Visible = True
                                Me.Lbl_mensagem.Text = "Pedido feito com sucesso"
    
                            Else
                                Me.Lbl_mensagem.Visible = True
                                Me.Lbl_mensagem.Text = "Erro de sistema Favor contactar o Administrador "
                            End If
    
    
    
                       
    
                            ligacao_stock.close()
    
                        End If ' detecção do produto dentro de stock
    
    
    
    _______________________________

    este code a cima no num = comando.executenonquery retorna - 0 a primeira vez que passa pelo if, sendo assim grava o registo 2 vezes, pois vais fazer novamente esse if até ficar 2 registos, não sei pq carga de agua.

    fazendo um break point , ele dá a seguinte informação vista a baixo

    Código:
    
    Prepared statement '(@Data varchar(8000),@Quantidade bigint,@id_utilizador bigint,@i' expects parameter @Data, which was not supplied.
    
    

    com isto tdo agradecia uma ajuda urgente

    obrigado
     
  2. p3dro

    p3dro Power Member

    Código:
    Data.Value = dia
    esse erro poderá ser devido ao facto de que a variável "dia" foi inicializada mas não lhe foi atribuido qualquer valor ... será isso? mostra como estás a atribuir um valor à variável "dia"
     
  3. alfinete

    alfinete Power Member

    estou a atribuir a variavel dia da seguinte maneira vista a baixo

    Código:
     Dim dia As String = Session("HorarioLogin") 
    
    
    
    mas acho que namdeve ser esse o prob pois ele guarda isso bem, mas em vez de guardar uma vez guarda duas
     

Partilhar esta Página