Ir para conteúdo
Fórum Script Brasil
  • 0

alguém pode corrigir esse codigo ?


Rubens Paulino

Pergunta

Private Sub BtnRegistrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnRegistrar.Click
        Dim conn As New SqlClient.SqlConnection
        Dim comando As New SqlClient.SqlCommand
        Dim reg As Integer

        conn.ConnectionString = My.Settings.SisvenConnectionString

        If TxtUsuario.Text = "" Then
            MessageBox.Show("É necessário informar o nome de Usuario/Login")
            TxtUsuario.Focus()
            Exit Sub
        End If

        If Txtsenha.Text = "" Then
            MessageBox.Show("Informe sua senha de acesso")
            Txtsenha.Focus()
            Exit Sub
        End If
        If Not Txtsenha.Text.Equals(TxtSenha2.Text) Then
            MessageBox.Show("A senha não confere")
            TxtSenha2.Focus()
            Exit Sub
        End If

        Try
            conn.Open()
            comando.Connection = conn
            comando.Parameters.AddWithValue("@nomusu", TxtUsuario.Text)
            comando.Parameters.AddWithValue("@SenhaID", Util.GeraHash(Txtsenha.Text))
            comando.Parameters.AddWithValue("@usuario", Usuario)
            comando.Parameters.AddWithValue("@codemp", Empresa)
            'Vê se o usuario já esta cadastrado ou não
            comando.CommandText = "Select Nomlog FROM cadusu Where Nomlog=@Nomusu"
            reg = comando.ExecuteNonQuery()
            If reg.ToString = "" Then
                MessageBox.Show("não Achou usuario cadastrado")
                comando.CommandText = "INSERT INTO cadusu(codemp,nomlog,SenhaID,usuari) values(@codemp,@nomusu,@SenhaID,@usuario)"
            Else
                MessageBox.Show("Achou Usuario !")
                comando.CommandText = "UPDATE cadusu SET codemp = @codemp, Nomlog = @nomusu, SenhaID = @SenhaID, Usuari = @usuario WHERE Nomlog=@nomusu"
                'comando.CommandText = "INSERT INTO cadusu(codemp,nomlog,SenhaID,usuari) values(@codemp,@nomusu,@SenhaID,@usuario)"
            End If

            reg = comando.ExecuteNonQuery()

            MessageBox.Show(reg.ToString + " Registro de usuario incluido com sucesso.")

        Catch ex As Exception
            MessageBox.Show("Erro ao efetuar a conexão com a base de dados :" + ex.Message)
        Finally
            conn.Close()
            conn.Dispose()
        End Try
End Sub

===> Tá acontecendo dois problemas :

1 - acho q a sintaxe está errada, por não sei se o SELECT achou ou não o usuario informado

2 - so ta gravando um registro na tabela, os outros, mesmo dizendo q gravou, não grava nada ...

Como sou iniciante, conto com a ajuda dos expert´s d fórum ... desde já valeu moçada !

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Você não pode chamar ExecuteNonQuery() porque, como o nome indica, isso *não* vai te retornar uma consulta. ExecuteNonQuery é para ser usado com instruções SQL que *não* retornam uma consulta (UPDATE, DELETE, etc.). Para um SELECT você precisa usar ExecuteReader() para retornar vários registros ou ExecuteScalar() para retornar apenas o primeiro de um conjunto de registros.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...