› Foros › Off-Topic › Miscelánea
Try
cadenaSQL = "select * from matriculas where dni='" & FrmPrincipal.dni & "'"
comando = New OleDbCommand(cadenaSQL, conexion)
registros = comando.ExecuteReader
If registros.Read Then
TxtNombre.Text = registros("nombrecompleto")
TxtDireccion.Text = registros("direccion")
TxtTelefono.Text = registros("telefono")
End If
Catch ex As Exception
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
Finally
conexion.Close()
End Try
Darxen escribió:Try
cadenaSQL = "select * from matriculas where dni='" & FrmPrincipal.dni & "'"
comando = New OleDbCommand(cadenaSQL, conexion)
registros = comando.ExecuteReader
If registros.Read Then
TxtNombre.Text = registros("nombrecompleto")
TxtDireccion.Text = registros("direccion")
TxtTelefono.Text = registros("telefono")
End If
Catch ex As Exception
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
Finally
conexion.Close()
End Try
seria algo asi mas o menos, lo he copiado de un examen q hice, asi q no te valdra exactamente, pero te valdra como modelo
Tision escribió:Estoy probando tu respuesta, pero registro de que tipo es??
Private Sub TB()
Try
Dim consulta As String
consulta = "select * from Clientes where id_cliente = " & CBid.Text & ";"
Dim cmdInsert = New OleDbCommand(consulta, conexion)
Dim registros As OleDbDataReader
registros = cmdInsert.ExecuteReader
If registros.Read Then
TBid.Text = registros("id")
TBnombre.Text = registros("ads")
TBapellidos.Text = registros("ads")
TBcalle.Text = registros("ads")
TBtelefono.Text = registros("ads")
End If
Catch ex As Exception
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
Finally
conexion.Close()
End Try
End Sub
Tision escribió:Private Sub TB()
Try
Dim consulta As String
consulta = "select * from Clientes where id_cliente = " & CBid.Text & ";"
Dim cmdInsert = New OleDbCommand(consulta, conexion)
Dim registros As OleDbDataReader
registros = cmdInsert.ExecuteReader
If registros.Read Then
TBid.Text = registros("id")
TBnombre.Text = registros("ads")
TBapellidos.Text = registros("ads")
TBcalle.Text = registros("ads")
TBtelefono.Text = registros("ads")
End If
Catch ex As Exception
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
Finally
conexion.Close()
End Try
End Sub
Haber lo tengo asi, pero no me tira, ahi donde registro("....") nose que poner
Tision escribió:conexion es para conectarse a la base de datos no??
Tision escribió:Private Sub TB()
Try
Dim consulta As String
consulta = "select * from Clientes where id_cliente = " & CBid.Text & ";"
Dim cmdInsert = New OleDbCommand(consulta, conexion)
Dim registros As OleDbDataReader
registros = cmdInsert.ExecuteReader
If registros.Read Then
TBid.Text = registros("id")
TBnombre.Text = registros("ads")
TBapellidos.Text = registros("ads")
TBcalle.Text = registros("ads")
TBtelefono.Text = registros("ads")
End If
Catch ex As Exception
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
Finally
conexion.Close()
End Try
End Sub
Haber lo tengo asi, pero no me tira, ahi donde registro("....") nose que poner
Alber_h escribió:Cuando he usado el objeto DataReader, para cargar los datos lo hacía escribiendo registros.Items(índice de la columna)
Así obtienes el valor de la columna cuyo índice estés poniendo ahí (del 0 en adelante).
Creo que también se puede poner directamente el nombre de la columna que quieras obtenes (registros.Item("dni"), registros.Item("calle")).
Prueba con eso, y sino, pues vuelve a preguntar
Saludos
Darxen escribió:Tision escribió:conexion es para conectarse a la base de datos no??
si, pero me refiero... sabes lo q lleva? como se crea y demas?
Tision escribió:Darxen escribió:Tision escribió:conexion es para conectarse a la base de datos no??
si, pero me refiero... sabes lo q lleva? como se crea y demas?
Pues la verdad esk no, porque la asignatura es de Bases de datos, y solo hacemos el programa para insertar lso datos y esas cosas
Muchisimas Gracias tio, ya me funciona, me has salvado la vida, Gracias
Dim consulta As String
If ac1 = 0 Then
consulta = "INSERT INTO Clientes(id_cliente,nombre,apellidos,calle,telefono)VALUES(" & TBid.Text & " , '" & TBnombre.Text & "' , '" & TBapellidos.Text & "' , '" & TBcalle.Text & "' , " & TBtelefono.Text & ")"
Dim cmdInsert As New OleDbCommand(consulta, conexion)
cmdInsert.ExecuteNonQuery()
conexion.Close()
MsgBox("Inserción realizada con exito")
TBid.Text = ""
TBnombre.Text = ""
TBapellidos.Text = ""
TBcalle.Text = ""
TBtelefono.Text = ""
GBdatos.Visible = False
cargar_registro(DGV)
Else
consulta = "UPDATE Clientes SET id_cliente = " & TBid.Text & ",nombre = '" & TBnombre.Text & "',apellidos = '" & TBapellidos.Text & "',calle = '" & TBcalle.Text & "',telefono = " & TBtelefono.Text & " WHERE id_cliente=" & CBid.Text & ""
Dim cmdInsert As New OleDbCommand(consulta, conexion)
cmdInsert.ExecuteNonQuery()
conexion.Close()
MsgBox("Modificacion realizada con exito")
TBid.Text = ""
TBnombre.Text = ""
TBapellidos.Text = ""
TBcalle.Text = ""
TBtelefono.Text = ""
GBdatos.Visible = False
cargar_registro(DGV)
End If
Tision escribió:Perdoname por ser tan pesao, pero tengo otra pequeña duda...
Estoy intentando actualizar con UPDATE y me da error??
Aqui te dejo el cogido, lo estoy usando con lo que me has ayudado antesDim consulta As String
If ac1 = 0 Then
consulta = "INSERT INTO Clientes(id_cliente,nombre,apellidos,calle,telefono)VALUES(" & TBid.Text & " , '" & TBnombre.Text & "' , '" & TBapellidos.Text & "' , '" & TBcalle.Text & "' , " & TBtelefono.Text & ")"
Dim cmdInsert As New OleDbCommand(consulta, conexion)
cmdInsert.ExecuteNonQuery()
conexion.Close()
MsgBox("Inserción realizada con exito")
TBid.Text = ""
TBnombre.Text = ""
TBapellidos.Text = ""
TBcalle.Text = ""
TBtelefono.Text = ""
GBdatos.Visible = False
cargar_registro(DGV)
Else
consulta = "UPDATE Clientes SET id_cliente = " & TBid.Text & ",nombre = '" & TBnombre.Text & "',apellidos = '" & TBapellidos.Text & "',calle = '" & TBcalle.Text & "',telefono = " & TBtelefono.Text & " WHERE id_cliente=" & CBid.Text & ""
Dim cmdInsert As New OleDbCommand(consulta, conexion)
cmdInsert.ExecuteNonQuery()
conexion.Close()
MsgBox("Modificacion realizada con exito")
TBid.Text = ""
TBnombre.Text = ""
TBapellidos.Text = ""
TBcalle.Text = ""
TBtelefono.Text = ""
GBdatos.Visible = False
cargar_registro(DGV)
End If
Tision escribió:Ya esta, era que no estaba abriendo la conexion y por eso me daba el error
Gracias
zheo escribió:La verdad es que si yo me encontrara con ese código en un proyecto, mis blasfemias se oirían en toda españa.
Joder que chapuza.
Un poquito de separación de conceptos no iría nada mal la verdad.
Dim clientDao as New ClientDataAccessObject( dbConnection )
Dim c as New Client( clientDao.GetClientWithID(1) )
txtNombre.Text = c.Name
txtDNI.Text = c.DNI.ToString()
zheo escribió:Ese es el problema que veo por tu respuesta, que al parecer no se sabe ni de lo que hablo, o eso me dan a entender las interrogaciones.
Me explico; básicamente me refiero a separa conceptos dentro del código, espero que te suene el tema de aplicaciones por capas:
Presentación
--
Lógica Negocio
---
Acceso a base de datos
Por ejemplo en el primer ejemplo de código, tienes metida en una sóla función ejemplos de todas esas capas:
Acceso a bases de datos por la consulta
Lógica de negocio por la comprobación de excepciones
Presentación por el acceso a los textbox y el message form.
Vamos, todo metido ahí de cualquier manera, lo que es una señora chapuza.
A partir de ahí, cosas como el Modelo Vista Controlador, Modelo Presentación Controlador, y mil más, hay para investigar un rato.
Pero resumiendo, lo que yo haría rápidamente en este caso para que fuera menos chapuza.
En una clase metes todas las llamadas a la base de datos como métodos.
Los datos recuperados de la base de datos se usan para crear objetos de negocio con las propiedades deseadas.
Esos objetos se vinculan a los objetos en el formulario.
Algo así:Dim clientDao as New ClientDataAccessObject( dbConnection )
Dim c as New Client( clientDao.GetClientWithID(1) )
txtNombre.Text = c.Name
txtDNI.Text = c.DNI.ToString()
Darxen escribió:si se a lo q te refieres... pero... q esperas para un programilla normalillo de practica? todo documentado y super ordenadito? para q? si me dijeras q es un programa para un proyecto de una oficina q lo va ver mucha gente y tienen q trabajar sobre el... todavia.
y aun asi, si te crees q en el trabajo te lo van a dar todo perfectamente ordenado, lo llevas claro... si vieses la cantidad de chapuzas inentendibles q he tenido q leer para documentar codigo de gente q ni conozco...