Usuario
Problemas con Binding

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)
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