Martes 19 de Noviembre de 2024, 12:17
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
CLR: .Net / Mono / Boo / Otros CLR
»
VB .NET
(Moderador:
ElNapster
) »
Operaciones De Registros En Vb2005
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Operaciones De Registros En Vb2005 (Leído 1296 veces)
UserCode
Miembro MUY activo
Mensajes: 338
Operaciones De Registros En Vb2005
«
en:
Martes 7 de Noviembre de 2006, 21:37 »
0
hola, estoy con lo de probar el .Net muy iniciado novaton en ello y me encuentro en la fase de tratar de formular el código de "pan de cada día" con lo que uno puede defenderse en comienzo el cual es las 4 operaciones básicas de una Bd, ya saben, el insertar, consultar, editar y eliminar ya con eso uno se defiende y el resto pues se va viendo en el camino.
Bueno, yo entre tanto leer y probar he llegado a lograr meter datos en une BD Access de la siguiente forma por parametros con el command asi:
Código: Text
'Conectando con BD Access:
Dim RutaBD As String
RutaBD = My.Application.Info.DirectoryPath & "\BDAccess.mdb"
ConexionBD = New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & RutaBD)
Dim ordenSQL As OleDb.OleDbCommand
Dim strSQL As String
strSQL = "INSERT INTO "
strSQL = strSQL & "TB_AGENDA(TxtNombre,TxtApellido,AutoCedula,TxtTelefCel,TxtTelefTrab,TxtTelefHab,TxtEmail,TxtCumpleaños,TxtDireccion,TxtComentarios) "
strSQL = strSQL & "VALUES(@Nombre,@Apellido,@Cedula,@TelefCel,@TelefTrab,@TelefHab,@Email,@Cumpleaños,@Direccion,@Comentarios)"
ordenSQL = New OleDbCommand(strSQL, ConexionBD)
'Nombre:
ordenSQL.Parameters.Add(New OleDbParameter("@Nombre", OleDbType.VarWChar, 20))
ordenSQL.Parameters("@Nombre").Value = TxtNombre.Text
'Apellido:
ordenSQL.Parameters.Add(New OleDbParameter("@Apellido", OleDbType.VarWChar, 20))
ordenSQL.Parameters("@Apellido").Value = TxtApellido.Text
'Cedula:
ordenSQL.Parameters.Add(New OleDbParameter("@Cedula", OleDbType.VarWChar, 20))
ordenSQL.Parameters("@Cedula").Value = TxtCedula.Text
'TelefCel:
ordenSQL.Parameters.Add(New OleDbParameter("@TelefCel", OleDbType.VarWChar, 20))
ordenSQL.Parameters("@TelefCel").Value = TxtTelefCel.Text
'TelefTrab:
ordenSQL.Parameters.Add(New OleDbParameter("@TelefTrab", OleDbType.VarWChar, 20))
ordenSQL.Parameters("@TelefTrab").Value = TxtTelefTrab.Text
'TelefHab:
ordenSQL.Parameters.Add(New OleDbParameter("@TelefHab", OleDbType.VarWChar, 20))
ordenSQL.Parameters("@TelefHab").Value = TxtTelefHab.Text
'Email:
ordenSQL.Parameters.Add(New OleDbParameter("@Email", OleDbType.VarWChar, 20))
ordenSQL.Parameters("@Email").Value = TxtEmail.Text
'Cumpleaños:
ordenSQL.Parameters.Add(New OleDbParameter("@Cumpleaños", OleDbType.VarWChar, 20))
ordenSQL.Parameters("@Cumpleaños").Value = DateTimePicker1.Text
'Direccion:
ordenSQL.Parameters.Add(New OleDbParameter("@Direccion", OleDbType.VarWChar, 20))
ordenSQL.Parameters("@Direccion").Value = TxtDireccion.Text
'Comentarios:
ordenSQL.Parameters.Add(New OleDbParameter("@Comentarios", OleDbType.VarWChar, 20))
ordenSQL.Parameters("@Comentarios").Value = TxtComentarios.Text
'Abrimos la conexión, lo mandamos a ejecutar y cerramos la conexión:
ordenSQL.Connection.Open()
ordenSQL.ExecuteNonQuery()
ordenSQL.Connection.Close()
MessageBox.Show("REGISTRO GUARDADO", "REG GUARDADO", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1)
El Editar es igualito a diferencia del Query que cambia a esto, todo lo demás igual:
Código: Text
'Cedula no pq es el ID:
strSQL = "UPDATE TB_AGENDA SET TxtNombre=@Nombre,TxtApellido=@Apellido,TxtTelefCel=@TelefCel,TxtTelefTrab=@TelefTrab,TxtTelefHab=@TelefHab,TxtEmail=@Email,TxtCumpleaños=@Cumpleaños,TxtDireccion=@Direccion,TxtComentarios=@Comentarios "
strSQL = strSQL & "WHERE AutoCedula=" & Me.TxtCedula.Text
Y borrar pues esto:
Código: Text
'Conectando con BD Access:
Dim RutaBD As String
RutaBD = My.Application.Info.DirectoryPath & "\BDAccess.mdb"
ConexionBD = New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & RutaBD)
Dim ordenSQL As OleDb.OleDbCommand
Dim strSQL As String
strSQL = "DELETE * FROM TB_AGENDA WHERE AutoCedula=" & Me.TxtCedula.Text
ordenSQL = New OleDbCommand(strSQL, ConexionBD)
'Abrimos la conexión, lo mandamos a ejecutar y cerramos la conexión:
ordenSQL.Connection.Open()
ordenSQL.ExecuteNonQuery()
ordenSQL.Connection.Close()
MessageBox.Show("REGISTRO ELIMINADO", "REG BORRADO", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1)
Pero me interesa hacer estas operaciones por el DataAdapter y DataSet y debo decir que en verdad
me ha costado mucho lograr que me funcionen, entonces yo pregunto, que falta en este código para que funcione:
Código: Text
'Conectando con BD Access:
Dim RutaBD As String
RutaBD = My.Application.Info.DirectoryPath & "\BDAccess.mdb"
ConexionBD = New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & RutaBD)
Dim strSQL As String
strSQL = "SELECT * FROM TB_AGENDA ORDER BY TxtApellido"
Dim dtp As New OleDbDataAdapter(strSQL, ConexionBD)
Dim ds As DataSet = New DataSet
dtp.Fill(ds, "TB_AGENDA")
Dim Fila As DataRow = ds.Tables(0).NewRow
Fila("TxtNombre") = TxtNombre.Text
Fila("TxtApellido") = TxtApellido.Text
Fila("AutoCedula") = TxtCedula.Text
Fila("TxtTelefCel") = TxtTelefCel.Text
Fila("TxtTelefTrab") = TxtTelefTrab.Text
Fila("TxtTelefHab") = TxtTelefHab.Text
Fila("TxtEmail") = TxtEmail.Text
Fila("TxtCumpleaños") = DateTimePicker1.Value
Fila("TxtDireccion") = TxtDireccion.Text
Fila("TxtComentarios") = TxtComentarios.Text
ds.Tables(0).Rows.Add(Fila)
Dim cb As New OleDbCommandBuilder(dtp)
ds.Tables(0).AcceptChanges()
dtp.Update(ds, "TB_AGENDA")
MessageBox.Show("Registro Guardado", "Guardado", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1)
Catch ex As Exception
MessageBox.Show("Error al Intentar Guardar los datos: " & vbCrLf & Err.Description)
End Try
No da error, hasta saca el aviso de Messegabox de Registro guardado pero al ir a ver en la tabla, no hay nada
PD: perdon que no sea algo para SQL Server porque ahorita Access es lo que tengo más a la mano.
Tweet
Si esto es Leído por accidente, induzca al vomito
UserCode
Miembro MUY activo
Mensajes: 338
Re: Operaciones De Registros En Vb2005
«
Respuesta #1 en:
Domingo 12 de Noviembre de 2006, 15:26 »
0
uhmmm... como que nadie a trabajado con VB.NET y Access
ya tengo el SQL Server pero en mi compu tengo es XP y no Windows Server :-\
me tomara tiempo pasar al .Net mientras, a seguir con el 6
Si esto es Leído por accidente, induzca al vomito
.: Raul :.
Nuevo Miembro
Mensajes: 6
Re: Operaciones De Registros En Vb2005
«
Respuesta #2 en:
Martes 14 de Noviembre de 2006, 13:21 »
0
Hola, voy a tratar de ayudarte aunq yo uso vb.net con SQL Server. Creo q puedes probar este codigo q es el q tu has puesto pero modificado:
Código: Text
'Conectando con BD Access:
Dim RutaBD As String
RutaBD = My.Application.Info.DirectoryPath & "\BDAccess.mdb"
ConexionBD = New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & RutaBD)
Dim strSQL As String
strSQL = "SELECT * FROM TB_AGENDA ORDER BY TxtApellido"
Dim dtp As New OleDbDataAdapter(strSQL, ConexionBD)
Dim ds As DataSet = New DataSet
ConexionBD.Open()
dtp.Fill(ds, "TB_AGENDA")
ConexionBD.Close()
Dim Fila As DataRow = ds.Tables("TB_AGENDA").NewRow
Fila("TxtNombre") = TxtNombre.Text
Fila("TxtApellido") = TxtApellido.Text
Fila("AutoCedula") = TxtCedula.Text
Fila("TxtTelefCel") = TxtTelefCel.Text
Fila("TxtTelefTrab") = TxtTelefTrab.Text
Fila("TxtTelefHab") = TxtTelefHab.Text
Fila("TxtEmail") = TxtEmail.Text
Fila("TxtCumpleaños") = DateTimePicker1.Value
Fila("TxtDireccion") = TxtDireccion.Text
Fila("TxtComentarios") = TxtComentarios.Text
ds.Tables("TB_AGENDA").Rows.Add(Fila)
Dim cb As New OleDbCommandBuilder(dtp)
'ds.Tables("TB_AGENDA").AcceptChanges()
ConexionBD.Open()
dtp.Update(ds, "TB_AGENDA")
ConexionBD.Close()
Creo q es necesario abrir la conexion para para el Fill como para el Update, aparte, te recomiendo q no llames a las tablas ni a los campos de estas por el numero (ds.Tables(0)), siempre con el nombre (ds.Tables("TB_AGENDA")) pq asi siempre estas seguro de q estas actuando sobre la tabla q quieres.
Espero q te sirva, ya diras como te va.
P.D. SQL Server se puede instalar en XP,
aqui
puedes descargar SQL Server 2005 Express q es gratis
Sagma
Miembro MUY activo
Mensajes: 390
Nacionalidad:
Re: Operaciones De Registros En Vb2005
«
Respuesta #3 en:
Martes 14 de Noviembre de 2006, 15:52 »
0
Hola amigo forero, fijate en esta pagina donde hay un ejemplo complete, y con DB access.
Ejemplo con DB access
suerte
Sagma
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
CLR: .Net / Mono / Boo / Otros CLR
»
VB .NET
(Moderador:
ElNapster
) »
Operaciones De Registros En Vb2005