none
Verificar se Código ja existe na base de dados. RRS feed

  • Pergunta

  • Pessoal este é o meu primeiro post. Espero que possam me ajudar..

    É uma aplicação web. Tenho 3 campos para serem inseridos na base de dados. 

    São eles: (Código, Nome, Data de Nascimento).

    Preciso verificar se o código existe na base de dados, caso sim informar ao usuário que o código existe e abortar a operação.

    Caso não, efetuar o insert normalmente. 

    quarta-feira, 30 de março de 2011 20:46

Respostas

  • você deverá usar o seguinte exemplo...

     

     

     //Metodo para ValidarEntrada do usuario
      public int validarEntrada(String txtCodigo)
      {
       int result = 0;
       if (txtNomeUser != "" || txtSenhaUser != "")
       {
        
        ConectionsBase SqlString = new ConectionsBase();
        //chamando o metodo getStringSql que cria conexão com Banco SQL SERVER
        SqlConnection conn = SqlString.getStringSql("usuario", "senha", "nomedaBase", "enderecoServer");
    
        string comando = "SELECT * FROM tabela_Banco WHERE Codigo=@Codigo";
    
        SqlCommand selectCmd = new SqlCommand(comando, conn);
    
        SqlParameter codigo = new SqlParameter("@Codigo", txtCodigo);
        selectCmd.Parameters.Add(codigo);
    
        conn.Open();
        result = Convert.ToInt32(selectCmd.ExecuteScalar());
        conn.Close();
        selectCmd = null;
    
       }
       return result;
    
      }
    
      //metodo para criar conexão com Banco de dados SQL SERVER
      public SqlConnection getStringSql(string _id, string _pass, string _base, string _server)
      {
       string getStringSql = "Data Source=" + _server + ";Initial Catalog=" + _base + ";User Id=" + _id + ";Password=" + _pass + ";";
    
       SqlConnection conSql = new SqlConnection(getStringSql);
       return conSql;
      }
    
      //Metodo de Click do Button que será usado para Inserir os dados
      //
      protected void BtnOK_Click(object sender, ImageClickEventArgs e)
      {
       //se os campos tiver valores
       if (txtCodigo.Text != "" && txtNome.Text != "" && txtDataNascimento.Text != "")
       {
        ConectionsBase logar = new ConectionsBase();
        int resposta = logar.validarEntrada(Convert.ToInt32(txtCodigo.Text));
    
        //Se a resposta do select for igual a 0
        //Faz o Insert Normalmente
        if (resposta == 0)
        {
          //Chama o método que Insere valores no banco
          Inserir(Convert.ToInt32(txtCodigo.Text), txtNome.Text, txtDataNascimento.Text);
        }
        //Se a resposta do select for maior que zero
        //Fala que exibe uma janela JS como o erro Já existe um Registro com esse código
        else
        {
         ClientScript.RegisterStartupScript(this.GetType(), "MsgErro", "alert('Já existe um Registro com esse código');", true);
        }
    
       }
       //cai aqui se os campos não estiverem preenchidos
       else
       {
        ClientScript.RegisterStartupScript(this.GetType(), "MsgErro", "alert('Preencha os Campos Corretamente.');", true);
       }
    
      }
    
      //Metodo Usado para Inserir registros no banco de dados
      public void Inserir(int codigo, string nome , string dataNascimento)
      {
       //chamando o metodo getStringSql que cria conexão com Banco SQL SERVER
       SqlConnection conn = SqlString.getStringSql("usuario", "senha", "nomedaBase", "enderecoServer");
    
       string cmdSql ="Insert into tabela_Banco (Codigo,nome,dataNascimento) values(@Codigo,@nome,@dataNascimento)";
    
       SqlCommand cmd = new SqlCommand(cmdSql, conn);
       cmd.Parameters.Add(new MySqlParameter("@Codigo", codigo));
       cmd.Parameters.Add(new MySqlParameter("@nome", nome));
       cmd.Parameters.Add(new MySqlParameter("@dataNascimento", dataNascimento));
    
       conn.Open();
       cmd.ExecuteNonQuery();
       conn.Close();
    
      }
    

     

    Espero que ajude ... (lembre-se eu digitei no bloco de notas , se tiver algum erro verificar no Visual Studio)

    Abraço


    Se for útil marcar como resposta Para que outros Aproveitem
    • Sugerido como Resposta Jones Roberto quinta-feira, 31 de março de 2011 12:30
    • Não Sugerido como Resposta Jones Roberto quinta-feira, 31 de março de 2011 12:31
    • Sugerido como Resposta Jones Roberto quinta-feira, 31 de março de 2011 12:32
    • Marcado como Resposta EDUARDO.NS.NUNES quinta-feira, 31 de março de 2011 14:42
    quinta-feira, 31 de março de 2011 12:29
  • Aqui vai um codigo Snp, eu tinha feito isto ha bastante tempo, podes modificar:

    Private Function NewPassword(ByVal password As String) As Boolean
    
        Dim objConnectiopassword As SqlConnection = New SqlConnection(coneteme)
        Try
          objConnectiopassword.Open()
          Dim FindNewPassword As String = "SELECT Password From Staff"
          Procuras += " WHERE Password = '" + password + "'"
          Dim cmdReader As SqlCommand = New SqlCommand(FindNewPassword, objConnectiopassword)
          cmdReader.CommandType = CommandType.Text
          Dim sdReader As SqlDataReader = cmdReader.ExecuteReader(CommandBehavior.CloseConnection)
          With sdReader
            If .HasRows Then
              .Read()
              Dim NumberID As Integer = .FieldCount
              password = .GetSqlString(0)
    
              If .GetSqlString(0) = password Then
                Me.TextBox4.Focus()
                Return True
                Exit Function
              Else
                Return False
              End If
    
            End If
          End With
    
        Catch exc As Exception
    
        Finally
          If Not objConnectiopassword.State = ConnectionState.Closed Then
            objConnectiopassword.Close()
          End If
        End Try
        ErrorProvider1.SetError(TextBox4, "")
    
      End Function
    
    
    on your textbox....
    
     Private Sub TextBox4_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox4.LostFocus
        If FindNewPassword(TextBox4.Text) Then
          ErrorProvider1.SetError(TextBox4, "The New Password already exit. Type a new one please. Thanks ")
          Exit Sub
        End If
    
      End Sub
    


    Just Be Humble Malange!
    quarta-feira, 30 de março de 2011 21:54
    Moderador

Todas as Respostas

  • Aqui vai um codigo Snp, eu tinha feito isto ha bastante tempo, podes modificar:

    Private Function NewPassword(ByVal password As String) As Boolean
    
        Dim objConnectiopassword As SqlConnection = New SqlConnection(coneteme)
        Try
          objConnectiopassword.Open()
          Dim FindNewPassword As String = "SELECT Password From Staff"
          Procuras += " WHERE Password = '" + password + "'"
          Dim cmdReader As SqlCommand = New SqlCommand(FindNewPassword, objConnectiopassword)
          cmdReader.CommandType = CommandType.Text
          Dim sdReader As SqlDataReader = cmdReader.ExecuteReader(CommandBehavior.CloseConnection)
          With sdReader
            If .HasRows Then
              .Read()
              Dim NumberID As Integer = .FieldCount
              password = .GetSqlString(0)
    
              If .GetSqlString(0) = password Then
                Me.TextBox4.Focus()
                Return True
                Exit Function
              Else
                Return False
              End If
    
            End If
          End With
    
        Catch exc As Exception
    
        Finally
          If Not objConnectiopassword.State = ConnectionState.Closed Then
            objConnectiopassword.Close()
          End If
        End Try
        ErrorProvider1.SetError(TextBox4, "")
    
      End Function
    
    
    on your textbox....
    
     Private Sub TextBox4_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox4.LostFocus
        If FindNewPassword(TextBox4.Text) Then
          ErrorProvider1.SetError(TextBox4, "The New Password already exit. Type a new one please. Thanks ")
          Exit Sub
        End If
    
      End Sub
    


    Just Be Humble Malange!
    quarta-feira, 30 de março de 2011 21:54
    Moderador
  • Olá Malange,

    Quero agradecer o seu interese..

    vou ver se consigo aproveitar esse seu codigo pra atender a minha necessidade.

    O problema é que eu esqueci de dizer que estou desenvolvendo a aplicação em C#.

    Se tiverem algum codigo em C# que possa me ajudar sera bem vindo..

     

    quinta-feira, 31 de março de 2011 02:09
  • você deverá usar o seguinte exemplo...

     

     

     //Metodo para ValidarEntrada do usuario
      public int validarEntrada(String txtCodigo)
      {
       int result = 0;
       if (txtNomeUser != "" || txtSenhaUser != "")
       {
        
        ConectionsBase SqlString = new ConectionsBase();
        //chamando o metodo getStringSql que cria conexão com Banco SQL SERVER
        SqlConnection conn = SqlString.getStringSql("usuario", "senha", "nomedaBase", "enderecoServer");
    
        string comando = "SELECT * FROM tabela_Banco WHERE Codigo=@Codigo";
    
        SqlCommand selectCmd = new SqlCommand(comando, conn);
    
        SqlParameter codigo = new SqlParameter("@Codigo", txtCodigo);
        selectCmd.Parameters.Add(codigo);
    
        conn.Open();
        result = Convert.ToInt32(selectCmd.ExecuteScalar());
        conn.Close();
        selectCmd = null;
    
       }
       return result;
    
      }
    
      //metodo para criar conexão com Banco de dados SQL SERVER
      public SqlConnection getStringSql(string _id, string _pass, string _base, string _server)
      {
       string getStringSql = "Data Source=" + _server + ";Initial Catalog=" + _base + ";User Id=" + _id + ";Password=" + _pass + ";";
    
       SqlConnection conSql = new SqlConnection(getStringSql);
       return conSql;
      }
    
      //Metodo de Click do Button que será usado para Inserir os dados
      //
      protected void BtnOK_Click(object sender, ImageClickEventArgs e)
      {
       //se os campos tiver valores
       if (txtCodigo.Text != "" && txtNome.Text != "" && txtDataNascimento.Text != "")
       {
        ConectionsBase logar = new ConectionsBase();
        int resposta = logar.validarEntrada(Convert.ToInt32(txtCodigo.Text));
    
        //Se a resposta do select for igual a 0
        //Faz o Insert Normalmente
        if (resposta == 0)
        {
          //Chama o método que Insere valores no banco
          Inserir(Convert.ToInt32(txtCodigo.Text), txtNome.Text, txtDataNascimento.Text);
        }
        //Se a resposta do select for maior que zero
        //Fala que exibe uma janela JS como o erro Já existe um Registro com esse código
        else
        {
         ClientScript.RegisterStartupScript(this.GetType(), "MsgErro", "alert('Já existe um Registro com esse código');", true);
        }
    
       }
       //cai aqui se os campos não estiverem preenchidos
       else
       {
        ClientScript.RegisterStartupScript(this.GetType(), "MsgErro", "alert('Preencha os Campos Corretamente.');", true);
       }
    
      }
    
      //Metodo Usado para Inserir registros no banco de dados
      public void Inserir(int codigo, string nome , string dataNascimento)
      {
       //chamando o metodo getStringSql que cria conexão com Banco SQL SERVER
       SqlConnection conn = SqlString.getStringSql("usuario", "senha", "nomedaBase", "enderecoServer");
    
       string cmdSql ="Insert into tabela_Banco (Codigo,nome,dataNascimento) values(@Codigo,@nome,@dataNascimento)";
    
       SqlCommand cmd = new SqlCommand(cmdSql, conn);
       cmd.Parameters.Add(new MySqlParameter("@Codigo", codigo));
       cmd.Parameters.Add(new MySqlParameter("@nome", nome));
       cmd.Parameters.Add(new MySqlParameter("@dataNascimento", dataNascimento));
    
       conn.Open();
       cmd.ExecuteNonQuery();
       conn.Close();
    
      }
    

     

    Espero que ajude ... (lembre-se eu digitei no bloco de notas , se tiver algum erro verificar no Visual Studio)

    Abraço


    Se for útil marcar como resposta Para que outros Aproveitem
    • Sugerido como Resposta Jones Roberto quinta-feira, 31 de março de 2011 12:30
    • Não Sugerido como Resposta Jones Roberto quinta-feira, 31 de março de 2011 12:31
    • Sugerido como Resposta Jones Roberto quinta-feira, 31 de março de 2011 12:32
    • Marcado como Resposta EDUARDO.NS.NUNES quinta-feira, 31 de março de 2011 14:42
    quinta-feira, 31 de março de 2011 12:29