none
Inserindo dados através de textbox em asp.net RRS feed

  • Pergunta

  • Boa tarde amigos mais uma.

    Eu estou desenvolvendo um projeto asp.net vb seria um erp web.Mas estou com problemas que quando eu clico o evento do botão salvar ele carrega a página limpa os controles mas quando eu olho na base de dados nenhum dados do que escrevi está inserido o que acontece?

    O meu código é bem parecido com este mas está em sql.

    Imports System.Data.OleDb
    Partial Class Clientes
        Inherits System.Web.UI.Page
        Private Sub Page_Load(ByVal sender As System.ObjectByVal e As System.EventArgsHandles MyBase.Load

        End Sub

        Protected Sub Button1_Click(ByVal sender As ObjectByVal e As System.EventArgsHandles Button1.Click

            Dim sql As String
            Dim conn As OleDbConnection
            Dim cmd As OleDbCommand

            sql = "INSERT INTO [Cliente] ([Idcliente], [nome do cliente], [cpf], [rg], [endereço], [cep], [cidade], [estado], [telefone], [email])"
            sql = sql & " values ('" & TextBox12.Text & "', '" & TextBox2.Text & "', '" & TextBox6.Text & "', '" & TextBox4.Text & "','" & TextBox5.Text & "','" & TextBox7.Text & "','" & DropDownList1.Text & "', '" & DropDownList2.Text & "', '" & TextBox10.Text & "', '" & TextBox11.Text & "')"
            conn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\Fernando\Documents\Visual Studio 2010\WebSites\Cadastro de Clientes\App_Data\Clientes.mdb")


            conn.Open()
            cmd = New OleDbCommand(sql, conn)
            Try
                cmd.ExecuteNonQuery()
            Catch ex As Exception
                Response.Write(ex.ToString())
            Finally
                conn.Close()
            End Try



            TextBox12.Text = ""
            TextBox2.Text = ""
            TextBox6.Text = ""
            TextBox4.Text = ""
            TextBox5.Text = ""
            TextBox7.Text = ""
            TextBox10.Text = ""
            TextBox11.Text = ""
            DropDownList1.Text = ""
            DropDownList2.Text = ""

        End Sub

    End Class

    quinta-feira, 19 de maio de 2011 15:39

Respostas

  • Fernando, se ajudar segue um exemplo em C#, porém eu uso a string de conexão no Web.config.

    
        OleDbCommand dataCommand = new OleDbCommand();
    
    
        private void Open()
        {
          dataCommand.Connection.Open();
        }
    
        private void Close()
        {
          dataCommand.Connection.Close();
        }
    
        public void AddParameter(string paramname, object paramvalue)
        {
          
          OleDbParameter param = new OleDbParameter(paramname, paramvalue);
          dataCommand.Parameters.Add(param);
        }
    
        
        protected void Page_Load(object sender, EventArgs e)
        {
          
          
          //Objeto dataConnection do tipo OleDbConnection
          OleDbConnection dataConnection = new OleDbConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings["tecovelConnectionString"].ToString());
                
          //Propriedade retorna a conexão para uma fonte de dados
          dataCommand.Connection = dataConnection;
    
          
        }
        
        
        protected void btnSalvar_Click(object sender, EventArgs e)
        {
          
            dataCommand.CommandText = " INSERT INTO [produtos] ([nome], [descricao], [especificacoes], [categoria], [imagem]) VALUES (@nome, @descricao, @especificacoes, @categoria, @imagem) ";
            dataCommand.CommandText += " @nome, @descricao, @especificacoes, @categoria, @imagem";
    
            AddParameter("@nome", txtNome.Text);
            AddParameter("@descricao", txtDescricao.Text);
            AddParameter("@especificacoes", txtEspecificacao.Text);
            AddParameter("@categoria", ddlCategoria.SelectedValue);
            AddParameter("@imagem", txtImg.Text);
    
            Open();
            dataCommand.ExecuteNonQuery();
            Close();
    
        }
    
        
    

    Não trabalho com VB, mas acho que ficaria assim...

     

    Private dataCommand As New OleDbCommand()
    
    
    Private Sub Open()
    	dataCommand.Connection.Open()
    End Sub
    
    Private Sub Close()
    	dataCommand.Connection.Close()
    End Sub
    
    Public Sub AddParameter(paramname As String, paramvalue As Object)
    
    	Dim param As New OleDbParameter(paramname, paramvalue)
    	dataCommand.Parameters.Add(param)
    End Sub
    
    
    Protected Sub Page_Load(sender As Object, e As EventArgs)
    
    
    	'Objeto dataConnection do tipo OleDbConnection
    	Dim dataConnection As New OleDbConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings("tecovelConnectionString").ToString())
    
    	'Propriedade retorna a conexão para uma fonte de dados
    	dataCommand.Connection = dataConnection
    
    
    End Sub
    
    
    Protected Sub btnSalvar_Click(sender As Object, e As EventArgs)
    
    	dataCommand.CommandText = " INSERT INTO [produtos] ([nome], [descricao], [especificacoes], [categoria], [imagem]) VALUES (@nome, @descricao, @especificacoes, @categoria, @imagem) "
    	dataCommand.CommandText += " @nome, @descricao, @especificacoes, @categoria, @imagem"
    
    	AddParameter("@nome", txtNome.Text)
    	AddParameter("@descricao", txtDescricao.Text)
    	AddParameter("@especificacoes", txtEspecificacao.Text)
    	AddParameter("@categoria", ddlCategoria.SelectedValue)
    	AddParameter("@imagem", txtImg.Text)
    
    	Open()
    	dataCommand.ExecuteNonQuery()
    	Close()
    
    End Sub
    

    Qualquer coisa, só chamar...

     

    Abs


    Rogério Rodrigues
    • Sugerido como Resposta Áskari quinta-feira, 19 de maio de 2011 20:08
    • Marcado como Resposta Fernando HM Diogo sexta-feira, 20 de maio de 2011 15:36
    quinta-feira, 19 de maio de 2011 19:49

Todas as Respostas

  • Boa tarde amigos mais uma.

    Eu estou desenvolvendo um projeto asp.net vb seria um erp web.Mas estou com problemas que quando eu clico o evento do botão salvar ele carrega a página limpa os controles mas quando eu olho na base de dados nenhum dados do que escrevi está inserido o que acontece?

    O meu código é bem parecido com este mas está em sql.

    Imports System.Data.OleDb
    Partial Class Clientes
        Inherits System.Web.UI.Page
        Private Sub Page_Load(ByVal sender As System.ObjectByVal e As System.EventArgsHandles MyBase.Load

        End Sub

        Protected Sub Button1_Click(ByVal sender As ObjectByVal e As System.EventArgsHandles Button1.Click

            Dim sql As String
            Dim conn As OleDbConnection
            Dim cmd As OleDbCommand

            sql = "INSERT INTO [Cliente] ([Idcliente], [nome do cliente], [cpf], [rg], [endereço], [cep], [cidade], [estado], [telefone], [email])"
            sql = sql & " values ('" & TextBox12.Text & "', '" & TextBox2.Text & "', '" & TextBox6.Text & "', '" & TextBox4.Text & "','" & TextBox5.Text & "','" & TextBox7.Text & "','" & DropDownList1.Text & "', '" & DropDownList2.Text & "', '" & TextBox10.Text & "', '" & TextBox11.Text & "')"
            conn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\Fernando\Documents\Visual Studio 2010\WebSites\Cadastro de Clientes\App_Data\Clientes.mdb")


            conn.Open()
            cmd = New OleDbCommand(sql, conn)
            Try
                cmd.ExecuteNonQuery()
            Catch ex As Exception
                Response.Write(ex.ToString())
            Finally
                conn.Close()
            End Try



            TextBox12.Text = ""
            TextBox2.Text = ""
            TextBox6.Text = ""
            TextBox4.Text = ""
            TextBox5.Text = ""
            TextBox7.Text = ""
            TextBox10.Text = ""
            TextBox11.Text = ""
            DropDownList1.Text = ""
            DropDownList2.Text = ""

        End Sub

    End Class


    quinta-feira, 19 de maio de 2011 18:59
  • Fernando, se ajudar segue um exemplo em C#, porém eu uso a string de conexão no Web.config.

    
        OleDbCommand dataCommand = new OleDbCommand();
    
    
        private void Open()
        {
          dataCommand.Connection.Open();
        }
    
        private void Close()
        {
          dataCommand.Connection.Close();
        }
    
        public void AddParameter(string paramname, object paramvalue)
        {
          
          OleDbParameter param = new OleDbParameter(paramname, paramvalue);
          dataCommand.Parameters.Add(param);
        }
    
        
        protected void Page_Load(object sender, EventArgs e)
        {
          
          
          //Objeto dataConnection do tipo OleDbConnection
          OleDbConnection dataConnection = new OleDbConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings["tecovelConnectionString"].ToString());
                
          //Propriedade retorna a conexão para uma fonte de dados
          dataCommand.Connection = dataConnection;
    
          
        }
        
        
        protected void btnSalvar_Click(object sender, EventArgs e)
        {
          
            dataCommand.CommandText = " INSERT INTO [produtos] ([nome], [descricao], [especificacoes], [categoria], [imagem]) VALUES (@nome, @descricao, @especificacoes, @categoria, @imagem) ";
            dataCommand.CommandText += " @nome, @descricao, @especificacoes, @categoria, @imagem";
    
            AddParameter("@nome", txtNome.Text);
            AddParameter("@descricao", txtDescricao.Text);
            AddParameter("@especificacoes", txtEspecificacao.Text);
            AddParameter("@categoria", ddlCategoria.SelectedValue);
            AddParameter("@imagem", txtImg.Text);
    
            Open();
            dataCommand.ExecuteNonQuery();
            Close();
    
        }
    
        
    

    Não trabalho com VB, mas acho que ficaria assim...

     

    Private dataCommand As New OleDbCommand()
    
    
    Private Sub Open()
    	dataCommand.Connection.Open()
    End Sub
    
    Private Sub Close()
    	dataCommand.Connection.Close()
    End Sub
    
    Public Sub AddParameter(paramname As String, paramvalue As Object)
    
    	Dim param As New OleDbParameter(paramname, paramvalue)
    	dataCommand.Parameters.Add(param)
    End Sub
    
    
    Protected Sub Page_Load(sender As Object, e As EventArgs)
    
    
    	'Objeto dataConnection do tipo OleDbConnection
    	Dim dataConnection As New OleDbConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings("tecovelConnectionString").ToString())
    
    	'Propriedade retorna a conexão para uma fonte de dados
    	dataCommand.Connection = dataConnection
    
    
    End Sub
    
    
    Protected Sub btnSalvar_Click(sender As Object, e As EventArgs)
    
    	dataCommand.CommandText = " INSERT INTO [produtos] ([nome], [descricao], [especificacoes], [categoria], [imagem]) VALUES (@nome, @descricao, @especificacoes, @categoria, @imagem) "
    	dataCommand.CommandText += " @nome, @descricao, @especificacoes, @categoria, @imagem"
    
    	AddParameter("@nome", txtNome.Text)
    	AddParameter("@descricao", txtDescricao.Text)
    	AddParameter("@especificacoes", txtEspecificacao.Text)
    	AddParameter("@categoria", ddlCategoria.SelectedValue)
    	AddParameter("@imagem", txtImg.Text)
    
    	Open()
    	dataCommand.ExecuteNonQuery()
    	Close()
    
    End Sub
    

    Qualquer coisa, só chamar...

     

    Abs


    Rogério Rodrigues
    • Sugerido como Resposta Áskari quinta-feira, 19 de maio de 2011 20:08
    • Marcado como Resposta Fernando HM Diogo sexta-feira, 20 de maio de 2011 15:36
    quinta-feira, 19 de maio de 2011 19:49