none
CODIGO PARA HACER UN BOTON QUE ME GUARDE INFORMACION DE TEXTBOX A UNA BASE DE DATOS

    Question

  • BUENAS TARDES QUISIERA PEDIRLES AYUDA, PORQUE QUIERO HACER UN BOTON QUE AL DARLE CLICK ME GUARDE INFORMACION DE UNOS TEXTBOX QUE TENGO A UNA BASE DE DATOS ECHA EN ACCESS 2007, SI ME PUDIERAN ECHAR LA MANO MUCHAS GRACIAS
    Tuesday, September 21, 2010 6:49 PM

Answers

All replies

  • hola

    podrias ser algo como esto

    using(OleDbConnection conn = new OleDbConnection("<connection string>"))
    {
        conn.Open();
       
        string query = "INSERT INTO tabla (campo) VALUES (@param)";
       
        OleDbCommand cmd = new OleDbCommand(query, conn);

        cmd.Parameters.AddWithValue("@param", TextBox1.Text);
       
        cmd.ExecuteNonQuery();
    }

     

    en este link tiene mas ejemplos del tema

     

    ADO.NET Parte 4 Actualizaci ó n Informaci ó n Ms Access

    ADO.NET - Parte 2 - Recuperar Informaci ó n MS  Access


    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    Tuesday, September 21, 2010 6:56 PM
  • GRACIAS LEANDRO PERO PUSE ESE CODIGO PERO NO ME LO HACEPTA YO TENGO UN CODIGO Y ES 

    Imports System.Data.OleDb

    Imports System.Data.DataRow

     

    Public Class Form2

        Public Class Form2

     

        End Class

     

        Private MiConexion As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.5.0;Data Source=|DataDirectory|\Datos sole.mdb")

        Private MiAdaptador As New OleDbDataAdapter("SELECT * FROM Nombres", MiConexion)

        Private MiDataSet As New DataSet()

        Private MiEnlazador As New BindingSource

     

        Private Sub Form1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress

            If (e.KeyChar = Chr(Keys.Enter)) And (Me.TextBox1.Text.Length > 0) Then

                Dim nombre As DataRow

                nombre = MiDataSet.Tables(0).NewRow()

                nombre("Nombre") = TextBox1.Text

                MiDataSet.Tables(0).Rows.Add(nombre)

                Me.TextBox1.Text = ""

                Me.ComboBox1.SelectedIndex = Me.ComboBox1.Items.Count - 1

            End If

        End Sub

     

        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

            Dim commandbuilder As New OleDb.OleDbCommandBuilder(Me.MiAdaptador)

            MiConexion.Open()

            MiAdaptador.Fill(MiDataSet)

            MiEnlazador.DataSource = MiDataSet.Tables(0)

            Me.ComboBox1.DataSource = MiEnlazador

            Me.ComboBox1.DisplayMember = "Nombre"

            Me.ComboBox1.ValueMember = "Id"

            Me.TextBox1.Select()

        End Sub

     

        Private Sub Guardar(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

            Me.MiAdaptador.Update(CType(Me.MiEnlazador.DataSource, DataTable))

        End Sub

        Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click

     

        End Sub

     

        Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

     

            Me.Close()

     

     

        End Sub

     

        Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

            TextBox1.Clear()

            TextBox2.Clear()

            TextBox3.Clear()

            TextBox4.Clear()

            TextBox5.Clear()

            TextBox6.Clear()

     

     

        End Sub

     

        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

     

            Dim nomcliente As String

            nomcliente = TextBox1.Text

     

            Dim nomEmpresa As String

            nomEmpresa = TextBox2.Text

     

            Dim nomTelefono As String

            nomTelefono = TextBox3.Text

     

            Dim nomDireccion As String

            nomDireccion = TextBox4.Text

     

            Dim nomComentario As String

            nomComentario = TextBox5.Text

     

            Dim nomFechaCita As String

            nomFechaCita = TextBox6.Text

     

     

     

     

        End Sub

     

        Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

     

     

        End Sub

     

        Private Function OleDbConnection() As Object

            Throw New NotImplementedException

        End Function

     

        Private Function ComboBox1() As Object

            Throw New NotImplementedException

        End Function

     

    End Class

    PERO CUANDO LO EJECUTO ME DICE QUE NO ENCUENTRA LA BASE DE DATOS SERA QUE ES PORQUE ESTA EN OFFICES 2007

     

    Tuesday, September 21, 2010 10:45 PM
  • hola

    segun veo el problemaesta aqui

    Private MiConexion As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.5.0;Data Source=|DataDirectory|\Datos sole.mdb")

    - primer, evita tener archivo con espacio, en lugar de ser Datos sole, porque no usas DatoSole.mdb, evitaras mucho problemas

    - segundo la db en que carpeta esta ubicada? esta junto al .exe, porque el usa el  DataDirectory, esta debe esta en la misma carpeta que la aplicacion

    - aqui hay ejemplsod e cadena de conexion

    http://www.connectionstrings.com/access-2007

    podrias probar usar un proveedor algo asm actual, por ejmeplo

    Provider=Microsoft.ACE.OLEDB.12.0;

    o por ahi

    http://www.connectionstrings.com/access

    o sea el jet 4, no recuerdo que exista una version 5

    salidps


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    Wednesday, September 22, 2010 2:57 AM
  • GRACIAS POR TU AYUDA LEANDRO DE VERDAD :)

    FIJATE QUE YA NO ME TIRA ERROS PERO AHORA NO ME GUARDA NADA Y LA VERDAD ES QUE YA ME DESESPERE. Y QUISIERA PEDIRTE UN ULTIMO FABOR HAVER SI PODES MIRARLO Y TALVES PODES ENCONTRAR EL ERROR LO UNICO QUE QUIERO ES QUE TENGO UN BOTON QUE SE LLAMA GUARDAR QUE AL DARLE CLIK ME AGUARDE LOS DATOS, SI FUERAS TAN AMABLE TE DEJO EL LINK 

    http://depositfiles.com/files/43z7f5u0m

    POR TU AYUDA MUCHAS GRACIAS

    ES VISUAL 2010

    Wednesday, September 22, 2010 3:56 AM
  • hola.....bueno lo q deseas no es dificil de hacer........y la forma es como Leandro te EXPLICO  al principio.....creo q tu problema es q estas programando VB   .......y te estan escribiendo codigo en C#......aqui te dejo este codigo esta en c# pero es muy facil de adaptal a vb....solo cambia la manera de declarar la instancia por ejemplo en vb para declarar la conexion es  Dim cnx as OleDbconnecction() ; en c # seria  OleDbConnecction cnx =new OleDbConnecction(); y detalles asi......

    0 bibliotecas nesesarias

    1 toma  los valores de los textbox y asignalos a variables

    2 especifica la cadena de conexion y abrela

    3 arma tu query y parametrizala

    4 guarda  ExecuteNonquery()

    5 cierra la conexion

     

     

    0)

    using System.Data.SqlClient;//Para SQL Server
    using System.Data.OleDb;
    using System.Collections;

       1)      string nf=textBox31 .Text  ;
                string ff= dateTimePicker1 .Value.ToString ();
                string st= textBox32 .Text  ;;
                string iv=textBox33 .Text  ; ;
                string to = textBox34.Text; ;

     2 )

    OleDbConnection cnx1 = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data     Source=|DataDirectory|\LICOR.accdb;Jet OLEDB:Database Password=101010");

                OleDbCommand comm = new OleDbCommand();

               comm.Connection = cnx1;
                comm.Connection.Open();
               

    3 )              

               comm.CommandText = "INSERT INTO FacturaPolar(NumeroFactura,FechaFacturacion,SubTotal,IVA,Total)    VALUES (nf,ff,st,iv,to)";
                comm.Parameters.AddWithValue("@NumeroFactura", nf);
                comm.Parameters.AddWithValue("@Fechafacturacion", ff);
                comm.Parameters.AddWithValue("@SubTotal", st);
                comm.Parameters.AddWithValue("@IVA", iv);
                comm.Parameters.AddWithValue("@Total", to);

          4)    comm.ExecuteNonQuery();
                comm.Connection.Close();

     

     

    ojala te sirva

    Wednesday, September 22, 2010 5:25 AM
  • hola

    para subir archivos usa el skydrive es mucho mas practico

    segun veo la db esta dentro del proyecto entonces cada vez que compilas esta se copia a la carpeta \bin\Debug, cuando compilas esta se reemplza sola pisando los datos anteriores, como resultado no veras los registro insertos por tu codigo

    es por eso que parece que no hay nada, porque en realidad esta afectando a la db que esta en \bin\Debug y no a la que esta bajo el proyecto

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    Wednesday, September 22, 2010 12:20 PM