Ajuda - Busca - Membros - Calendário
Versão Completa: (Resolvido) Access - C# ( Botão Excluir )
Fórum Script Brasil > Programação & Desenvolvimento > .NET
Renato Fabretti
ola so novo aqui no forum , preciso de uma ajuda .

que to fazendo um programa pro meu pai , eu já to ficando quase doido por que , nunca mexi em c# so em html. ai tavo fazendo um programa que cadastra no acces ai ta tudo certo consegui cadastra o pessoal , já fiz sistema de busca e tudo . mais a unica coisa que ta faltando e dando dor de cabeça e altera e excluir no access no datagrid não to conseguindo fazer isso se algume pode mi ajuda eu agradeço muito muito mesmo , por que meu pai já ta enchendo meu saco a 1 mes !


se alguém pode mi ajuda so quero o btnaltera e btnexcluir nossa vo fica muito feliz se alguém pode ajuda !!!

a baixa o codigo do programa :

CODE
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
using System.Data.OleDb;
using System.Data;
using System.ComponentModel;

namespace Cadastro
{
    /// <summary>
    /// Description of MainForm.
    /// </summary>
    public partial class MainForm : Form
    {

        private OleDbConnection Conn;
        private OleDbDataAdapter da;
        private DataSet ds;
        private string bd = "Cadastro.mdb";
        public MainForm()
        {
            //
            // The InitializeComponent() call is required for Windows Forms designer support.
            //
            InitializeComponent();

            //
            // TODO: Add constructor code after the InitializeComponent() call.
            //
        }

        void MainFormLoad(object sender, EventArgs e)
        {
            iniciaAcesso();
        }

        private void iniciaAcesso()
        {
            ds = new DataSet();
            Conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Users\\Dados\\" + bd);
            try
            {
                Conn.Open();
                if (Conn.State == ConnectionState.Open)
                {
                    da = new OleDbDataAdapter("SELECT * from Clientes", Conn);
                    da.Fill(ds, "Tabela");
                    dgvDados.DataSource = ds;
                    dgvDados.DataMember = "Tabela";
                    dgvDado.DataSource = ds;
                    dgvDado.DataMember = "Tabela";

                }
            }
            catch (System.Exception e)
            {
                MessageBox.Show(e.Message.ToString());
            }

        }

       private void Time_Tick(object sender, EventArgs e)
        {
            Clock.Text = DateTime.Now.ToString();
        }

        private void BtnSalvar_Click(object sender, EventArgs e)
        {
            if (validaDados())
            {
                SalvaDados();
            }
            else
            {
                MessageBox.Show("Dados Inválidos...");
                txtNome.Focus();
                return;
            }
        }

        private Boolean validaDados()
        {

            return true;
        }

        private void SalvaDados()
        {
            string strConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\Users\\Dados\\Cadastro.mdb";
            string strSQL = "INSERT INTO Clientes(nome,sobrenome,funcao,paciente,endereco,bairro,cep,cidade,estado,pais,cpf,te
lefone,celular,email,rg,obs,nascimento,data)"
                            + " VALUES ('" + txtNome.Text + "','" + txtSobrenome.Text + "','" + txtFuncao.Text + "','" + txtPaciente.Text + "','" + txtEndereco.Text + "','" + txtBairro.Text + "','" + txtCep.Text + "','" + txtCidade.Text + "','" + txtEstado.Text + "','" + txtPais.Text + "','" + txtCpf.Text + "','" + txtTelefone.Text + "','" + txtCelular.Text + "','" + txtEmail.Text + "','" + txtRg.Text + "','" + tbObs.Text + "','" + txtNascimento.Text + "','" + txtData.Text + "')";
            
            //cria a conexão com o banco de dados
            OleDbConnection dbConnection = new OleDbConnection(strConnection);
            //Cria o comando que starta a query
            OleDbCommand cmdQry = new OleDbCommand(strSQL, dbConnection);
            try
            {
                // abre o banco
                dbConnection.Open();
                // executa a query
                cmdQry.ExecuteNonQuery();
                //
                MessageBox.Show("Dados Salvos com sucesso.");
            }
            //Trata a exceção
            catch (OleDbException ex)
            {
                MessageBox.Show("Error: " + ex.Message);
            }
            finally
            {
                //fecha a conexao
                dbConnection.Close();
            }
        }

        private void btnProcura_Click(object sender, EventArgs e)
        {
            Form5 f5 = new Form5();


            f5.ShowDialog();


            if (f5.sqlString != null && f5.sqlString != "")

                carregaGrid(f5.sqlString);
        }

        private void carregaGrid(string criterioSQL)
        {


            //define o dataset

            ds = new DataSet();


            //cria uma conexÆo usando a string de conexÆo

            Conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Users\\Dados\\" + bd);


            try
            {

                //abre a conexao

                Conn.Open();

            }

            catch (System.Exception e)
            {

                MessageBox.Show(e.Message.ToString());

            }


            if (Conn.State == ConnectionState.Open)
            {

                //se a conexÆo estiver aberta usa uma instru‡Æo SQL para selecionar os registros da tabela clientes

                //SELECT campos FROM tabela

                da = new OleDbDataAdapter(criterioSQL, Conn);

                da.Fill(ds, "Tabela");


                //exibe os dados no datagridview

                dgvDados.DataSource = ds;

                dgvDados.DataMember = "Tabela";
              

            }

        }

        private void button1_Click(object sender, EventArgs e)
        {
            Form8 f8 = new Form8();


            f8.ShowDialog();


            if (f8.sqlString != null && f8.sqlString != "")

                carregaGrid(f8.sqlString);
        }

        private void button2_Click(object sender, EventArgs e)
        {
            Form7 f7 = new Form7();


            f7.ShowDialog();


            if (f7.sqlString != null && f7.sqlString != "")

                carregaGrid(f7.sqlString);
        }

        private void button3_Click(object sender, EventArgs e)
        {
            Form6 f6 = new Form6();


            f6.ShowDialog();


            if (f6.sqlString != null && f6.sqlString != "")

                carregaGrid(f6.sqlString);
        }

        private void sairToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("Deseja realmente sair?", "Cadastro",
       MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                Application.Exit();
            }
        }

        private void LimpaCamposFormulario(Control.ControlCollection controles)
        {
            foreach (Control ctrl in controles)
            {
                if (ctrl is TextBox)
                {
                    ((TextBox)(ctrl)).Clear();
                }
                LimpaCamposFormulario(ctrl.Controls);
            }
        }



        private void button4_Click(object sender, EventArgs e)
        {
            LimpaCamposFormulario(this.Controls);

            tbObs.Clear();

        }
quintelab
Renato Fabretti, seja bem vindo ao Fórum do ScriptBrasil, conheça nossas regras: Regras do fórum

Primeiramente isso é contra as regras, aguarde respostas.
QUOTE(Renato Fabretti @ 20/02/2010 - 19:43) *
Alguma Alma luminosa para ajuda !!!!



Você quer excluir e editar por botões que estão na própria grid ou são botões fora da grid?

Abraços...
Renato Fabretti
malz a demora !!!

tipo asim no form eu coloca 2 botão = btn_excluir btn_alterar



no excluir eu seleciono no grid o nome e depois eu so aperto btn_excluir ou coloco o codigo e deleto algum que seja mais facio !!

no alterar mesma coisa no grid eu seleciono o nome e aperto no btn_alterar ai aparece todos os campo depois so altera e salva !

para explica melhor :


form1

no mesma form eu vo coloca Grid ai vai aparecer a tabela , certo em baixo da tabela que aparece eu vo criar esses 2 botão , mais eu não sei como fazer o comando para altera e excluir ! pior que so falta isso .



desculpa a demora quintelab , brigado por responde !!
quintelab
Neste selecionar da grid você consegue pegar os valores da grid, ae basta excluir conforme o código da grid e chamar outro formulário de alteração conforme o código selecionado. Você disse que já esta selecionando, esta seria a parte mais "complexa".

Abraços...
Renato Fabretti
fiz asim mais quando eu aperto o botão excluir todos os registro salvo são deletado no banco de dados , ele não ta excluindo so uma linha , porque ?


CODE
private void btnExcluir_Click(object sender, EventArgs e)
        {
            //solicita‡Æo confirma‡Æo para excluir

            if (MessageBox.Show("Confirma exclusao? ", "Excluir", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {

                ExcluirDados();

            }
        }
        public string Codigo;

        private void ExcluirDados()
        {

            //define string de conexÆo - Provedor + fonte de dados (caminho do banco de dados e seu nome)

            string strConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\Users\\Dados\\Cadastro.mdb";



            //define instru‡Æo SQL para excluir dados da tabela Clientes - DELETE FROM tabela Where <criterio>

            string strSQL = "DELETE FROM clientes WHERE Codigo";



            //cria a conexÆo com o banco de dados

            OleDbConnection dbConnection = new OleDbConnection(strConnection);



            //Cria o comando que inicia a instru‡Æo SQL para exclusÆo

            OleDbCommand cmdExcluir = new OleDbCommand(strSQL, dbConnection);

            try
            {

                // abre o banco de dados

                dbConnection.Open();



                // executa a instru‡Æo SQL

                cmdExcluir.ExecuteNonQuery();

                //

                MessageBox.Show("Dados Exclu¡dos com sucesso.");

            }

            //Trata a exce‡Æo

            catch (OleDbException ex)
            {

                MessageBox.Show("Error: " + ex.Message);

            }

            finally
            {

                //fecha a conexao

                dbConnection.Close();

            }

        }


.
Gafanhoto
A sua instrução SQL está:

string strSQL = "DELETE FROM clientes WHERE Codigo";

Deveria ser algo do tipo:

string strSQL = "DELETE FROM clientes WHERE Codigo=PARAMETRO";
Renato Fabretti
QUOTE(Gafanhoto @ 26/02/2010 - 16:22) *
A sua instrução SQL está:

string strSQL = "DELETE FROM clientes WHERE Codigo";

Deveria ser algo do tipo:

string strSQL = "DELETE FROM clientes WHERE Codigo=PARAMETRO";



ai eu troco o parementro pelo que codigo ?

eu fiz assim mais mesmo asim tela tudo :

string strSQL = "DELETE FROM clientes WHERE Codigo=Codigo";


_______________________________

mais e assim que faz para deletar uma grid selecionado ?


_______________


não sei se fica mais facil mais se coloca tipo uma caixa de texto e um botão tipo voce coloca o codigo do cliente e depois aperta o botão deletar fica mais facil ?

mais eu não sei o codigo para fazer isso acho que fica melhor né ?
quintelab
Faço a mesma pergunta do post 4, você já consegue ler o valor de um campo da linha selecionada?

Abraços...
Renato Fabretti
QUOTE(quintelab @ 03/03/2010 - 16:30) *
Faço a mesma pergunta do post 4, você já consegue ler o valor de um campo da linha selecionada?

Abraços...





sei não .
Renato Fabretti
então eu não sei selecionar o que você fala , como faço isso ?

mais não fica mais facil tipo na foto eu coloca numero do cliente depois aperto excluir , porque não sei seleciona a grid e mostra o codigo .








meu banco de dados access ta assim :




quintelab
Utilize o evento CellClick da grid, pesquise um pouco.

Abraços...
Renato Fabretti
então fiz outro tópico para organizar no outro já selecionei fiz quase tudo mais da um erro quando voce entra no link a baixa tá falando mais detalhadamente.

Programa Quase Pronto C#

obrigado por ajuda Quintelab Abraços !!
Esta é uma versão simplificada de nosso conteúdo principal. Para ver a versão completa com maiores informações, formatação e imagens, por favor clique aqui.
Invision Power Board © 2001-2012 Invision Power Services, Inc.