Martes 19 de Noviembre de 2024, 17:23
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
) »
Editar Un Registro
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Editar Un Registro (Leído 5083 veces)
Cajami
Miembro MUY activo
Mensajes: 298
Editar Un Registro
«
en:
Lunes 3 de Julio de 2006, 03:40 »
0
Hola que tal amigos del Foro, esta vez tengo el siguiente problema, he buscado en el inter pero hasta ahora encuentro algo; mi problem's es el siguiente: tengo una base de datos creada alli mismo en Visual Basic 2005, todo está ia casi listo tengo en un formulario botones para Nuevo, Guardar, Deshacer, Buscar por medio de filtros pero quiero poner un boton de Editar, para moverse por lso registros: << < > >>, para irse al primer registro ps hago asi:
Private Sub BtnPrimero_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnPrimero.Click
Me.HuespedBindingSource.MoveFirst()
End Sub
Pero la instruccion para editar ps no la conozco, disculpa, tengo otra pregunta, para preguntar por la posicion de un registro ps en el 6.0 lo hacia con la instruccion EOF y desactivaba dos controles, el primero y el anterior, pero en el 2005 tampoco encuentro esa instruccion, que tengo que escribir. gracias
Tumbes - Peru
Tweet
Lima - Perú
-------------------------------------------------------------------------------------------------------
"Persigue tus metas, tus objetivos, tus sueños, nunca t rindas si t caes 1000 veces levantat 1000 veces y sigue adelante..."
jodijo5
Miembro HIPER activo
Mensajes: 518
Nacionalidad:
Re: Editar Un Registro
«
Respuesta #1 en:
Miércoles 19 de Julio de 2006, 22:44 »
0
para editar un registro necesitas un sqlcommandbuilder
Código: Text
dim ds as new dataset
dim conn as new sqlconnection("aqui mi conecion")
dim da as new sqldataadapter("select * from customers",conn)
dim cb as new sqlcommandbuilder(da)
da.fill(ds,"customers")
dim dr as datarow
queremos modificar el registro 20 de los resultadosa de la consulta
dr=ds.tables("customers").rows(20)
'de este registro queremos modificar el campo 5, no se cual será
dr(5)=7
'se modifica directamente y no se tiene que hacer nada mas, si quieres hacer
'alguna modificación, modificalo directamente en el datarow y listo
'ahora para acatualizarlo en la base de datos se pone:
da.update(ds,"customers")
'OJO: si no declaras un objeto de la clase sqlcommandbuilder despues de haber hecho la consulta en el sqldataadapter, no podras actualizar nada en la base de datos, al constructor de el objeto de la clase sqlcommandbuilder se le asigna simplemente el sqldataadapter con la sentencia sql hecha, lo que hace ese objeto es crear en el sqldataadapter las respectivas sentencias de "update", "insert into", y "delete", para que despues puedas hacer esas operaciones con el darows, dataset, datatable, etc, segun lo que necesitas
si no tienes eso, tu consulta sera de solo lectura, y si lo intentas sin este objeto te va a salir error.
=============================
Daniel Pomalaza Mendoza
visita el Dinosaurio Azul :-D
http://bluetecnologia.com
Tagasa
Miembro activo
Mensajes: 66
Re: Editar Un Registro
«
Respuesta #2 en:
Jueves 20 de Julio de 2006, 16:58 »
0
Hola Jodijo5!
No se si me prodras contestar, he probado lo que pones porque necesito añadir registros en una tabla, queria saber cuando dices que el data adapter necesita un 'Update', 'Insert into', etc..., eso quiere decir que tengo que tenerlo hecho como cuando arrastras un data adapter que te crea automaticamente el commandinsert, commanddelete... Tendria que crearlos yo si no arrastro ningun data adapter y lo creo por codigo directamente??
Nada mas es por que yo queria evitarme hacer la sql del insert into que me queda muy larga...
Espero que me haya explicado bien...
Saludossssssssssssss
Tania
jodijo5
Miembro HIPER activo
Mensajes: 518
Nacionalidad:
Re: Editar Un Registro
«
Respuesta #3 en:
Domingo 23 de Julio de 2006, 17:57 »
0
la funcion del sqldataadapter es tomar los resultados de lña base de datos, la funcion del sqlcommandbuilder, es hacer que ese dataadapter tambien tenga la capacidad de hacer operaciones de actualizacion, ahora si pones asi:
esta parte por ahora no te interesa:
Código: Text
dim ds as new dataset
dim conn as new sqlconnection("aqui mi conecion")
dim da as new sqldataadapter("select * from customers",conn)
dim cb as new sqlcommandbuilder(da)
da.fill(ds,"customers")
dim dr as datarow
queremos modificar el registro 20 de los resultadosa de la consulta
dr=ds.tables("customers").rows(20)
esta es la parte que te interesa:
Código: Text
dr(0)=1
dr(1)="aqui"
dr(2)="por aca"
...
etc
al hacere esto, ya estas actualizando los resultados, solo te falta pasarlo a la base de datos:
Código: Text
da.update()
de tal forma que si quieres hacer la actualizacion o insercion, lo haces así, ahora que si no te gusta esto, puedes hacer algo así:
Código: Text
dim ds as new dataset
dim cm as new sqlcommand("insert into factura(bla,bla,bla,bla,...) values(bla,bla,bla,bla,...)")
'ahora esto lo insertas en el dataadapter
dim da as new sqldataadapter(cm)
dim sqlcommandbuilder(da)
da.fill(ds,"miresultado")
y bueno a este ultimo codigo quiere decir que bueno en ves de usar los metodos de actualizar del mismo .net, los actualizas con la misma sentencia SQL insert into" o "update"
por si las moscas te paso una funcion para que te ahorre todo ese trabajo, y eso ya recibe todo tipo de sentencias sql.
El mensaje contiene
1 archivo adjunto
. Debes
ingresar
o
registrarte
para poder verlo y descargarlo.
=============================
Daniel Pomalaza Mendoza
visita el Dinosaurio Azul :-D
http://bluetecnologia.com
Tagasa
Miembro activo
Mensajes: 66
Re: Editar Un Registro
«
Respuesta #4 en:
Lunes 24 de Julio de 2006, 09:07 »
0
Gracias Jodijo5!
Probare a ver lo que me dices si me funciona o no, si lo primero no lo consigo lo hare de la otra manera creando yo el insert into o el update... aunque quede un poco largo, jeje
Saludosssssssssssssssss
Tagasa
Miembro activo
Mensajes: 66
Re: Editar Un Registro
«
Respuesta #5 en:
Lunes 24 de Julio de 2006, 11:56 »
0
Hola!
HE probado lo primero que me dices sin el insert el rpoblema es que no da error pero tampoco me añade ninguna linea. Dejo aqui el codigo a ver si alguien me puede decir donde puede estar el fallo:
Código: Text
Try
'Para coger los datos de de100m5
cnGOBEX400 = New SqlConnection(Cadena)
ComandoSQL = New SqlCommand("select * from De100m5", cnGOBEX400)
Dim cb As New OleDbCommandBuilder(DAaccess)
cnGOBEX400.Open()
Lector = ComandoSQL.ExecuteReader()
'Para meter los datos en access
DAaccess = New OleDbDataAdapter("Select * from de100m5", cadenaA)
DAaccess.Fill(DSaccess, "de100m5")
dr = DSaccess.Tables("de100m5").NewRow
dr(0) = Me.txtOrden.Text
DAaccess.Update(DSaccess, "de100m5")
MessageBox.Show("Grabados los datos")
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
Saludossssssssssssssssssssssssssss
Tania
Tagasa
Miembro activo
Mensajes: 66
Re: Editar Un Registro
«
Respuesta #6 en:
Lunes 24 de Julio de 2006, 15:10 »
0
Hola otra vez!
Solo comentra que he añadido esta linea detras de la de newrow:
Código: Text
DSaccess.Tables("de100m5").Rows.Add(dr)
Y ahora me da el siguiente Error:
"Update requiere que InsertCommand sea valido cuando se pasa la colección DataRow con nuevas filas"
No se servira para que me digais donde estoy haciendolo mal,
pero ahi lo dejo...
Saludosssssssssssssss
Tania
jodijo5
Miembro HIPER activo
Mensajes: 518
Nacionalidad:
Re: Editar Un Registro
«
Respuesta #7 en:
Lunes 24 de Julio de 2006, 18:42 »
0
Try
'Para coger los datos de de100m5
cnGOBEX400 = New SqlConnection(Cadena)
ComandoSQL = New SqlCommand("select * from De100m5", cnGOBEX400)
Dim cb As New OleDbCommandBuilder(DAaccess)
cnGOBEX400.Open()
Lector = ComandoSQL.ExecuteReader()
'Para meter los datos en access
DAaccess = New OleDbDataAdapter("Select * from de100m5", cadenaA)
DAaccess.Fill(DSaccess, "de100m5")
dr = DSaccess.Tables("de100m5").NewRow
dr(0) = Me.txtOrden.Text
DSaccess.Tables("de100m5").rows.add(dr)
DAaccess.Update(DSaccess, "de100m5")
MessageBox.Show("Grabados los datos")
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
=============================
Daniel Pomalaza Mendoza
visita el Dinosaurio Azul :-D
http://bluetecnologia.com
Tagasa
Miembro activo
Mensajes: 66
Re: Editar Un Registro
«
Respuesta #8 en:
Miércoles 26 de Julio de 2006, 11:56 »
0
Hola!
Ya habia probado eso y me sigue dando el mismo fallo, no se porque puede ser... si alguien lo sabe...
saludosssssssss
Tania
Tagasa
Miembro activo
Mensajes: 66
Re: Editar Un Registro
«
Respuesta #9 en:
Miércoles 26 de Julio de 2006, 12:33 »
0
Se me olvido decir que el fallo me da en la linea:
Código: Text
DAaccess.Update(DSaccess, "de100m5")
Tania
jodijo5
Miembro HIPER activo
Mensajes: 518
Nacionalidad:
Re: Editar Un Registro
«
Respuesta #10 en:
Miércoles 26 de Julio de 2006, 18:47 »
0
claro que si pones el error que te sale, te podemos ayudar mejor
=============================
Daniel Pomalaza Mendoza
visita el Dinosaurio Azul :-D
http://bluetecnologia.com
Tagasa
Miembro activo
Mensajes: 66
Re: Editar Un Registro
«
Respuesta #11 en:
Jueves 27 de Julio de 2006, 08:21 »
0
No lo puse porque ya lo habia puesto arriba
, es este:
"Update requiere que InsertCommand sea valido cuando se pasa la colección DataRow con nuevas filas"
Saludosssssssssss
Tania
Tagasa
Miembro activo
Mensajes: 66
Re: Editar Un Registro
«
Respuesta #12 en:
Jueves 27 de Julio de 2006, 08:33 »
0
Hola!
He hecho un cambio:
Código: Text
Lector = ComandoSQL.ExecuteReader()
[B] 'Antes estaba aqui la definicion del commandbuilder[/B]
'Para meter los datos en access
DAaccess = New OleDbDataAdapter("Select * from de100m5", cadenaA)
[B]Dim cb As New OleDbCommandBuilder(DAaccess)[/B]
Ahora el error que me sale es:
Código: Text
Error en la sintaxis en la instruccion INSERT INTO
Supono que tengo que poner en la sql del dataadapter una Insert Into que era de lo que me quiera librar, no se ...
Tania
The Black Boy
Miembro de PLATA
Mensajes: 1043
Nacionalidad:
Re: Editar Un Registro
«
Respuesta #13 en:
Jueves 27 de Julio de 2006, 17:17 »
0
por que te quieres librar de un Insert Into?
tu proyecto es un proyecto WEB, por que si es asi, tienes razon en no querer ingresar una sentencia SQL en el CODE; ahora creo que es imposible librarse del
Insert into
ya que si no lo colocas en el code lo tendras que colocar en el SP que realices
de todas formas aun no comprendo en esencia que es lo que no has podido realizar....
Salu2
El inteligente no es aquel que lo sabe todo
sino aquel que sabe utilizar lo poco que sabe.
Espacio Personal
si necesitas algo de programacion click aqui, si no esta aqui no existe
Programacion]
Tagasa
Miembro activo
Mensajes: 66
Re: Editar Un Registro
«
Respuesta #14 en:
Jueves 27 de Julio de 2006, 17:37 »
0
Lo que quiero conseguir en guardar una serie de datos en una tabla.
El problema de la insert into es que como son 30 campos pues me queda muy largo, ademas de los 30 parameter que tengo que pasarle por cada uno. Era simplemente para minimizar codigo.
Pero esta visto que no me libro de el,
asi que nada a escribir y a escribir.
Muchas gracias por intentar ayudarme, jejeje
Pero si a alguien se le ocurre porque no me funciona el codigo que me avise...
Graciasssssssss y Saludosssssssssssss
Tania
The Black Boy
Miembro de PLATA
Mensajes: 1043
Nacionalidad:
Re: Editar Un Registro
«
Respuesta #15 en:
Jueves 27 de Julio de 2006, 18:01 »
0
ok, en vista que son tanto parametros los que hay que insertar, yo consideraria que es mejor que crees un SP, ya que así te ahorrarias mas lineas en el Code, pero si la DB es Access, ni modos creo que access no se pueden crear SP...
Salu2
El inteligente no es aquel que lo sabe todo
sino aquel que sabe utilizar lo poco que sabe.
Espacio Personal
si necesitas algo de programacion click aqui, si no esta aqui no existe
Programacion]
Tagasa
Miembro activo
Mensajes: 66
Re: Editar Un Registro
«
Respuesta #16 en:
Viernes 28 de Julio de 2006, 08:46 »
0
SP son procedimientos almacenados??
es que no lo tengo muy claro, jeje...
Bueno si en acces no se pueden usar lo dicho me dedicare a escribir codigo y codigo, jeje
Graciassssssssssss a todosssssssssssssssssssss
Saludossss
Tania
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
CLR: .Net / Mono / Boo / Otros CLR
»
VB .NET
(Moderador:
ElNapster
) »
Editar Un Registro