mariza Posted November 21, 2007 at 02:09 PM Report Share #149125 Posted November 21, 2007 at 02:09 PM 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 More sharing options...
Betovsky Posted November 21, 2007 at 10:49 PM Report Share #149254 Posted November 21, 2007 at 10:49 PM 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 More sharing options...
GatoVsPinguim Posted November 22, 2007 at 03:33 PM Report Share #149393 Posted November 22, 2007 at 03:33 PM 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 More sharing options...
mariza Posted December 3, 2007 at 09:24 AM Author Report Share #151899 Posted December 3, 2007 at 09:24 AM 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 More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now