CLR: .Net / Mono / Boo / Otros CLR > VB .NET
Editar Un Registro
Cajami:
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 :hola:
Tumbes - Peru
jodijo5:
para editar un registro necesitas un sqlcommandbuilder
--- Código: Text --- dim ds as new datasetdim 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 consultadr=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.
Tagasa:
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 :hola:
Tania
jodijo5:
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 datasetdim 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 consultadr=ds.tables("customers").rows(20)
esta es la parte que te interesa:
--- Código: Text --- dr(0)=1dr(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 datasetdim cm as new sqlcommand("insert into factura(bla,bla,bla,bla,...) values(bla,bla,bla,bla,...)")'ahora esto lo insertas en el dataadapterdim 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.
Tagasa:
Gracias Jodijo5! :rolleyes:
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
:hola:
Navegación
[#] Página Siguiente
Ir a la versión completa