Jump to content

ajuda-Adicionar dados


mariza

Recommended Posts

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.

Link to comment
Share on other 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.

"Give a man a fish and he will eat for a day; Teach a man to fish and he will eat for a lifetime. The moral? READ THE MANUAL !"

Sign on a computer system consultant's desk

Link to comment
Share on other 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

Link to comment
Share on other sites

  • 2 weeks later...

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!! 🙂

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.