• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

mariza

ajuda-Adicionar dados

4 mensagens neste tópico

Ola. estou com problemas para conseguir guardar dados num formulario.

O formulario o o que tem sao os dados de um formador, e esses mesmos dados terao que ser guardados na base de dados.

O SQL  para ir buscar os dados, ja esta, mas nao sei como fazer agora para os guardar.

Estou desesperada. Alguem me ajuda?

Deixo aqui um pouco do codigo que tenho, a ver se percebem...

protected void BtnAddDados_Click(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {

            //SQL para is guardar dados do Formador
            string strPutDados = "INSERT INTO formadores (id_concelho, nome, morada, localidade, cod_postal, telefone, telemovel, fax, email, data_nascimento, bi, emissao, arquivo, nib, nif, retencao_fonte, iva, cap, validade_cap, exp_formativa, data_cv, descricao_competencia, descricao_experiencia, descricao_formador) VALUES ('" + DDLConcelho.SelectedItem.Value + "','" + TextBox6.Text + "','" + TextBox7.Text + "','" + TextBox8.Text + "','" + TextBox21.Text + "','" + TextBox5.Text + "','" + TextBox9.Text + "','" + TextBox10.Text + "','" + TextBox11.Text + "','" + TextBox12.Text + "','" + TextBox13.Text + "','" + TextBox14.Text + "','" + TextBox15.Text + "','" + TextBox18.Text + "','" + TextBox17.Text + "','" + RadioButtonList1.Text + "','" + RadioButtonList3.SelectedItem.Value + "','" + RadioButtonList2.SelectedItem.Value + "','" + TextBox22.Text + "','" + TextBox1.Text + "','" + TextBox2.Text + "','" + TextBox3.Text + "')";


            DataSet dsPutDados = DBConn.ObtemDados(strPutDados);
        }
    }

Obrigado pela ajudinha.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Queres fazer INSERT em vez de um SELECT?

Se consegues fazer select então também tens de conseguir fazer insert/update.

Presumo que na parte do código que vai buscar os dados tenhas um método do género .ExecuteDataSet(). Se estiveres a usar isso também para fazer insert/update dará erro (acho eu), presumo que seja esse o problema. Se for isso tens de usar é o método .ExecuteNonQuery() em que te devolve um int que será o número de registos que foram inseridos/actualizados.

Se não for isso, então para ajudar-mos terás que dizer mais coisas. Só pela linha de código

DataSet dsPutDados = DBConn.ObtemDados(strPutDados);

Uma pessoa fica sem saber nada de como te estás a ligar a base de dados.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bom eu não sei qual é o tipo de bd que estas a utilizar, mas para access (exemplo de acordo com um programa que fiz):


Classe Access:

        public DAOAccess()
        {
            _conn = new OleDbConnection();
            _cmd = new OleDbCommand();

            makeConnection();
        }

       public void makeConnection()
        {
            _connString = @"Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=C:\Documents and Settings\xpto\Os meus documentos\Visual Studio 2005\Projects\xpto\trunk\data\xpto.mdb";

            //ligacao à bd
            conn.ConnectionString = _connString;

            cmd.Connection = conn;

            conn.Open();
        }





Class DAOMockFacade:


ESCRITA:


                _bdAcesso.query =INSERT INTO formadores (id_concelho, nome, morada, localidade, cod_postal, telefone, telemovel, fax, email, data_nascimento, bi, emissao, arquivo, nib, nif, retencao_fonte, iva, cap, validade_cap, exp_formativa, data_cv, descricao_competencia, descricao_experiencia, descricao_formador) VALUES ('" + DDLConcelho.SelectedItem.Value + "','" + TextBox6.Text + "','" + TextBox7.Text + "','" + TextBox8.Text + "','" + TextBox21.Text + "','" + TextBox5.Text + "','" + TextBox9.Text + "','" + TextBox10.Text + "','" + TextBox11.Text + "','" + TextBox12.Text + "','" + TextBox13.Text + "','" + TextBox14.Text + "','" + TextBox15.Text + "','" + TextBox18.Text + "','" + TextBox17.Text + "','" + RadioButtonList1.Text + "','" + RadioButtonList3.SelectedItem.Value + "','" + RadioButtonList2.SelectedItem.Value + "','" + TextBox22.Text + "','" + TextBox1.Text + "','" + TextBox2.Text + "','" + TextBox3.Text + "')";


            _bdAcesso.cmd.CommandText = _bdAcesso.query;

            int result = _bdAcesso.cmd.ExecuteNonQuery();

Eu fiquei um pouco baralhado com a escrita ou leitura... se for leitura, pensa bem se queres um DataReader ou DataSet.

Cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bom dia

Bem, de facto o problema era bem mais simples, e resolvi-o de uma forma muito estupida.

Acontece que eu tenho classes feitas, para chama-las de forma directa e implementa-las.

Tenho uma para enviar dados e outra para  receber.

Eu estava a aplicar a correcta, so que, quando eu verificava na base de dados se os dados eram de facto adicionados, não me apareciam na bd.

Bastou reiniciar o sql de uma forma "acidental" para ver que de facto, os dados ate entao tinham sido inseridos!

"DataSet dsPutDados = DBConn.EnviaDados(strPutDados);" -> com a respectiva string antes, obviamente.

Obg de qualquer das formas pela vossa ajuda!! :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora