Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

diogobuenodb

[Resolvido] Selecionar Tabelad do Grid

Recommended Posts

Bom dia a todos alguem poderia me ajudar - meio URGENTE

 

tenho 3 grids Escola , produto , cliente, e em baixo a forma de pagamento....

 

ja consigo ver a escola, os produtos e os clientes cadastrados. ate aqui beleza...

 

como eu seleciono o valor de cada uma delas e salvo no banco de dados junto com a "fORMA DE PAGAMENTO"

 

Tipo tem que ser obrigatorio selecionar uma escola, produto e um cliente..

 

Deu pra intende..

 

Tem como anexar imagen? poderia colocar a imagens para ficar mais claro

 

Por favor me ajudem

 

Grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

POr que você não usa 03 dropdow list ao invés de 03 grid?

È pq no meu grid já tras todas as informaçoes.. que esta no banco..

"Escola" endereço numero ....

"Cliente" nome , rg, cpf ...

 

 

intendeu??

 

e eu tb nao sei como pega as informaçoes do banco q joga no dropdow =/

 

pelo grid é complicado??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vai ser mais complicado. Se você prencher os Drop com o ID de cada um você pega o registro e tem todas as informações que você desejar.

No drop você seta o DataSourceID="IdDoSeuDataSource" e seta DataTextField="Nome" DataValueField="Id"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi desculpa minha ignorância ou como eu faria?

 

Meu gris esta assim

 

{
                       string conexaoBD = @"Provider=Microsoft.Jet.OleDB.4.0; Data Source=C:\controle-de-vendas\controle-de-ropas\bin\Debug\controlederoupas.mdb";
                       OleDbConnection conexao = new OleDbConnection(conexaoBD);
                       try
                       {
                           conexao.Open();
                           OleDbCommand sql = new OleDbCommand("SELECT * from escola WHERE nome_escola ", conexao);

                           OleDbDataAdapter da = new OleDbDataAdapter(sql);

                           DataSet ds = new DataSet();
                           da.Fill(ds);
                           bs.DataSource = ds;
                           bs.DataMember = ds.Tables[0].TableName;

                           dataGridView1.DataSource = bs;
                       }
                       catch (Exception)
                       {
                           MessageBox.Show("erro ao obter os dados");
                       }
                       finally
                       {
                           conexao.Close();
                       }

 

tem como tipo eu selecionar um campo do drop list e ele preencher o restante dos dados nas textbox?

 

um di cada vez né =)

 

como fica a conf. o drop list

 

pq as escolas serao cadastradas pelo usuaios.. teria q qaualizar o drop com as infor. do banco..

 

ja tinha pesquisado sobre isso .. e nada =/

 

Ivan Achei =)

 

Muito obridado o drop deu certinho fico até melhor =)

 

Só uma duvida se tivar q abrir outro enquete eu crio..

 

mais como eu salvo o valor selecionado do meu combobox ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

pra você pegar infoemação do grid esse é o codigo em C#

frm_newsTellecom frm = new frm_newsTellecom();
               int codigo = Convert.ToInt32(grv_listarClientes.SelectedCells[0].Value);
               frm.PreencherFormulario(codigo);
               frm.Show();

 

acho q tem outras formas mas essa é uma e pra salvar o comboBox

 

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
       {
           string nome = comboBox1.Text;
           classe_Banco_salvar(nome);
       }

aqui ele salva direto você selecionou algo ele ja salva é isso ai que eu entendi t++

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou dar um exemplo de como preencher um Drop e você faz com os outros;

{
string conexaoBD = @"Provider=Microsoft.Jet.OleDB.4.0; Data Source=C:\controle-de-vendas\controle-de-ropas\bin\Debug\controlederoupas.mdb";
OleDbConnection conexao = new OleDbConnection(conexaoBD);
try
{
conexao.Open();
OleDbCommand sql = new OleDbCommand("SELECT * from escola WHERE nome_escola ", conexao);

OleDbDataAdapter da = new OleDbDataAdapter(sql);

DataSet ds = new DataSet();
da.Fill(ds);
bs.DataSource = ds;
bs.DataMember = ds.Tables[0].TableName;

SeuDropEscola.DataSource = bs;
SeuDropEscola.DataTextField = "Nome";
SeuDropEscola.DataValueField = "Id";
SeuDropEscola.DataBind();
}
catch (Exception)
{
MessageBox.Show("erro ao obter os dados");
}
finally
{
conexao.Close();
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou dar um exemplo de como preencher um Drop e você faz com os outros;

{
string conexaoBD = @"Provider=Microsoft.Jet.OleDB.4.0; Data Source=C:\controle-de-vendas\controle-de-ropas\bin\Debug\controlederoupas.mdb";
OleDbConnection conexao = new OleDbConnection(conexaoBD);
try
{
conexao.Open();
OleDbCommand sql = new OleDbCommand("SELECT * from escola WHERE nome_escola ", conexao);

OleDbDataAdapter da = new OleDbDataAdapter(sql);

DataSet ds = new DataSet();
da.Fill(ds);
bs.DataSource = ds;
bs.DataMember = ds.Tables[0].TableName;

SeuDropEscola.DataSource = bs;
SeuDropEscola.DataTextField = "Nome";
SeuDropEscola.DataValueField = "Id";
SeuDropEscola.DataBind();
}
catch (Exception)
{
MessageBox.Show("erro ao obter os dados");
}
finally
{
conexao.Close();
}

 

 

Muuuito obrigado a JhOnE RoSsInI e Ivan.Teles seu certinho...

 

vlw mesmo.

 

como coloco a enquete como "Respondida"?

 

Ja aproveitando

 

Como excluo uma linha so grid e atualizo no bando??

 

if(this.dataGridView,.SelectedRows.Count>0)

{

bs.RemoveAt(this.dataGridView1.SelectedRows[0].Index);

}

else

{

MessageBox.Show("Selecione um linha");

}

 

com esse codigo eu excluo ... beleza...

 

porem como atualizar o banco?

pq c eu volta e pesquisa a linha continua la..

Compartilhar este post


Link para o post
Compartilhar em outros sites

tipo voce vai utilizar metodo que busca visualmente no banco que é esse o codigo

public DataTable Retrieve()
       {
           string sql = "select cli_cod \"Codigo\", cli_nome \"Nome\", cli_endereco \"Endereco\", cli_num \"Num\", cli_telefone \"Telefone\", cli_servico \"Servico\", cli_infoExtra \"Informacao extra\" from cliente";
           try
           {
               MySqlCommand cmd = new MySqlCommand(sql, con);
               MySqlDataAdapter da = new MySqlDataAdapter();
               da.SelectCommand = cmd;
               DataTable dt = new DataTable();
               da.Fill(dt);
               return dt;
           }
           catch (Exception ex)
           {
               throw ex;
           }
       }

você pode utilizar direto o comando mas eu recomendo você criar isso

//Atualizar lista;
       private void AtualizarLista()
       {
           grv_listarClientes.DataSource = new DAL().Retrieve();
       }

dai no botao excluir você coloca isso

//Excluir campo;
       private void btn_excluir_Click(object sender, EventArgs e)
       {
           int codigo = Convert.ToInt32(grv_listarClientes.SelectedCells[0].Value);
           new DAL().Delete(codigo);
           AtualizarLista();
       }

flw cara espero q isso te ajude t++

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quase la..

 

Porem esta com alguns erros...

 

nesta linha

{ MySqlCommand cmd = new MySqlCommand(sql, con);

 

== o "con" fala q o nome não existe no "curent context"

== o " MySqlCommand" coloquei OlDbDataAdapter aqui nlbz né...

 

nesta linha

 

grv_listarClientes.DataSource = new DAL().Retrieve();

== "DAL" não existe no "curent context"

 

 

neste tambem

new DAL().Delete(codigo);

 

== DAL....

 

oque falta?? no meu programa?

 

alguem pode me ajuda??

 

Hj ta suave aqui no trampo..

 

qria acaba isso

 

vlw

=)

 

Melhor ainda

 

Já ta escluindo ..

 

porem todos os compas do grid..

 

olha o codigo pra esclui

 

string sql

OlDbConnection conn = new OlDbConnection \\caminho do banco

sql = "DELETE FROM carrinho";

OleDbCommand cmd = new OlsDbCommand (sql,conn)

try

{

conn.open();

cmd.ExecuteNonQuery();

 

}

 

cath(OleDbException ex)

{

MessageBox.Show(Erro);

}

 

fenally

 

{

conn.Close;

}

 

Agora q fica complicado como nao deletar "DELETE FROM carrinho";

e sim a linha selecionada no grid???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom cara uma esplicação por cima olha pensa assim (você deleta do banco deleta visual da gidView e busca denovo com o comando do banco select * from .....olha o codigo

 

no botão deletar

private void btn_excluir_Click(object sender, EventArgs e)
       {
           int codigo = Convert.ToInt32(grv_listarClientes.SelectedCells[0].Value);
           new DAL().Delete(codigo);
           AtualizarLista();
       }

 

código do banco para deletar

public void Delete(int codigo)
       {
           string sql = "delete from cliente where cli_cod = @codigo";

           MySqlCommand cmd = new MySqlCommand(sql, con);
           try
           {
               cmd.Parameters.AddWithValue("@codigo", codigo);

               con.Open();
               cmd.ExecuteNonQuery();
           }
           catch (Exception ex)
           {
               MessageBox.Show(ex.Message);
           }
           finally
           {
               con.Close();
           }
       }

 

agora para atualizar visualmente o gridView

private void AtualizarLista()
       {
           grv_listarClientes.DataSource = new DAL().Retrieve();
       }

 

aqui é a busca no banco de dados

public DataTable Retrieve()
       {
           string sql = "select cli_cod \"Codigo\", cli_nome \"Nome\", cli_endereco \"Endereco\", cli_num \"Num\", cli_telefone \"Telefone\", cli_servico \"Servico\", cli_infoExtra \"Informacao extra\" from cliente";
           try
           {
               MySqlCommand cmd = new MySqlCommand(sql, con);
               MySqlDataAdapter da = new MySqlDataAdapter();
               da.SelectCommand = cmd;
               DataTable dt = new DataTable();
               da.Fill(dt);
               return dt;
           }
           catch (Exception ex)
           {
               throw ex;
           }
       }

a e você pergunto oque é DAL ou de onde vem isso que no seu deu erro, o DAL é uma classe que eu criei só para colocar os códigos do banco de dados.bom cara é isso ai se tiver mais duvida pode pergunta beleza flw cara

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.