none
Problemas con Binding RRS feed

  • Pregunta

  • saludos foro, tengo un problema estoy trabajando con MySQL, tengo un formulario el cual es para regstrar clientes, registrar modificar y eliminar clientes para ser mas especifico. tengo una funcion que la llamo nuevo la cual la ejecuto de entrada en el losda y es para blanquear los objetos del formulario para prepararlos para un nuevo cliente, estos objetos los alclo o los manejo con BINDING.

    Ejemplo:

    _Consulta(

    "select * from cliente where 1=2", _DataSetCliente, "cliente", _MyAdaptadorSQLCLiente)

    _DataSetCliente.Tables(

    "cliente").Rows.Add(0)

     

    _ClearDataBind()

     

    Me.TextNombre.DataBindings.Add(New Binding("Text", _DataSetCliente, "cliente.nombre", True))

    Explico lo que hago con ese codigo, _consulta es una funcion que como ven alli es para realzar una sentenca SQL la cual me develve en este caso cero regstros pero me crea la estructura de la tabla en _DataSetCliente, como los objetos estan enlazados en mediante BINDING realizo un _DataSetCliente.Tables("cliente").Rows.Add(0) para agregar un registro en blanco y asi automaticamente se blanquan todos los objetos.

    Bueno despues de esto tengo un boton el cluan llama un formulario con los clientes creador y por medio de un doble click me regresa el codigo al formulario de clientes y asi poder realizar otra consulta con la misma funcion _consulta pero esta vez en el where colodo el codgo del cliente para que esta vez s me regrese datos bien todo bien hasta el momento, pero el problema es que no me refresca o no me coloca los datos que debesn ir en cada objeto la unica forma que si lo haga es que declare el objeto dataset de nuevo cada vez que haga  la consulta

    Dim

     

    _DataSetCliente As DataSet = New DataSet

    pero esto no lo quisiera hacer ya que en el loar del formulario hago otras consultas y las incluyo dentro del mismo espacio del dataset DataSetCliente entonces al declararlo nuevamente pierdo los datos de las otras consultas.
     
    una de las respuesta sera crear tantos dataset como consultas tenga pero quisiera saber primero si hay otra solucon alguna forma de hacer un refresh si eso es lo que hace galta o si es otra propiedad.

    huff largo no bueno avisenme si no me entienden jeje

    Gracias...

    • Cambiado Enrique M. Montejo martes, 24 de mayo de 2011 13:39 acceso a datos (De:Lenguaje VB.NET)
    miércoles, 24 de junio de 2009 1:19

Todas las respuestas

  • Hola
        ' Declaramos un objeto DataRow para
          ' insertar en él los nuevos datos
          Dim MiDataRow As Data.DataRow
          ' Creamos una nueva fila en el DataSet
          MiDataRow = DataSet1.Tables("Ejemplo").NewRow()
          ' Insertamos los datos en el DataSet
          MiDataRow("Otro") = "222222"
          MiDataRow("Nombre") = "María"
          MiDataRow("Email") = "maría@cuentademail.com"
          DataSet1.Tables("Ejemplo").Rows.Add(MiDataRow)
          ' Si el DataSet tiene cambios ?
          If DataSet1.HasChanges Then
             ' Indicamos la instrucción SQL correspondiente
             SqlCommand1.CommandText = "INSERT INTO SOCIOS(NIF, Nombre, Apellido1, Apellido2, Telefono, Email, Direccion, Ciudad, Provincia, CP) VALUES(@NIF, @Nombre, @Apellido1, @Apellido2, @Telefono, @Email, @Direccion, @Ciudad, @Provincia, @CP)"
             ' Establecemos para el comando, 
             ' la (conexión) que utilizaremos
             SqlCommand1.Connection = SqlConnection1
             ' Le indicamos al DataAdapter, cuál es el
             ' comando de inserción que usaremos
             SqlDataAdapter1.InsertCommand = SqlCommand1
             ' Añadimos los parámetros y comandos correspondientes
             ' para cada campo a añadir en la base de datos
             SqlCommand1.Parameters.Add("@Otro", Data.SqlDbType.NChar, 10, "NIF")
             SqlCommand1.Parameters.Add("@Nombre", Data.SqlDbType.NVarChar, 50, "Nombre")
             SqlCommand1.Parameters.Add("@Email", Data.SqlDbType.NVarChar, 50, "Email")
             ' Abrimos la conexión
             SqlConnection1.Open()
             ' Realizamos la inserción de datos desde el DataSet
             ' a través del DataAdapter
             SqlDataAdapter1.Update(DataSet1, "Ejemplo")
             ' Cerramos la conexión
             SqlConnection1.Close()
             ' Indicamos con un mensaje que la inserción
             ' de datos se ha realizado con éxito
             MessageBox.Show("Datos insertados correctamente")
          End If
    

    espero que te sirva me parce que no cerrabas la conexión 
    jueves, 25 de junio de 2009 10:01