Foros del Web » Programación para mayores de 30 ;) » .NET »

guardar en base de datos con acces y vb.net

Estas en el tema de guardar en base de datos con acces y vb.net en el foro de .NET en Foros del Web. hola a todos tengo lo siguiente , estoy trabajando con una base de datos echa en access y vb.net , una aplicacion donde me muestra ...
  #1 (permalink)  
Antiguo 31/01/2013, 20:32
 
Fecha de Ingreso: noviembre-2011
Mensajes: 44
Antigüedad: 12 años, 5 meses
Puntos: 0
guardar en base de datos con acces y vb.net

hola a todos tengo lo siguiente , estoy trabajando con una base de datos echa en access y vb.net , una aplicacion donde me muestra una grilla donde yo pueda editar esos valores desde la grilla o mediante textbox, para que me funcione lo estoy haciendo desde la grilla ya sea para ingresar un valor nuevo o actualizar uno presionando un boton y que este me dija que se guardaron los datos.....el problema es que ingreso y solo lo guarda en memoria , no en la base , al salir los datos no estan....

este es mi codigo que uso haber si me pueden ayudar, solo tengo la instruccion editar ojala me puedan ayudar gracias desde ya

Código PHP:
da.UpdateCommand.CommandText "UPDATE cuenta SET enero = @enero ,eneroreal = @eneroreal where enero=@enero"

            
da.UpdateCommand.Parameters.AddWithValue("@enero"DataGridView1.CurrentRow.Cells("enero").Value)
            
da.UpdateCommand.Parameters.AddWithValue("@eneroreal"DataGridView1.CurrentRow.Cells("eneroreal").Value)
            
da.UpdateCommand.Connection miconexion
            DataGridView1
.Update()
            
ds.Tables.Add("cuenta")
            
da.SelectCommand da.UpdateCommand
            da
.Fill(ds.Tables("cuenta"))
            
DataGridView1.DataSource ds.Tables("cuenta")
            
MessageBox.Show("Se Actualizo el registro con exito"
  #2 (permalink)  
Antiguo 31/01/2013, 23:16
Avatar de Meliseo  
Fecha de Ingreso: enero-2013
Mensajes: 4
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: guardar en base de datos con acces y vb.net

Yo programo, pero no en PHP. Asi que dejando a un lado algun posible error en el codigo PHP que yo no podria ver te puedo decir que veo un poco rara tu instruccion SQL: "UPDATE cuenta SET enero = @enero ,eneroreal = @eneroreal where enero=@enero".

En la instruccion SQL vas a actualizar la columna enero (set enero = @enero), pero en la condicion where pones otra ves enero = @enero y eso no tiene mucho sentido. La condicion del where deberia ser otra
  #3 (permalink)  
Antiguo 01/02/2013, 09:10
 
Fecha de Ingreso: noviembre-2011
Mensajes: 44
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: guardar en base de datos con acces y vb.net

hola gracias por responder solo me equivoque al colocar el codigo dentro de un tag php pero es codigo vb.net, con respecto al where lo saco pero no me guarda tampoco, es una base de datos en access que no tiene un campo clave son solo datos guardados que lo usaban en un sistema no se si me entiendes o si me puedes ayudar gracias
  #4 (permalink)  
Antiguo 01/02/2013, 09:22
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: guardar en base de datos con acces y vb.net

Concuerdo con Meliseo, tu instrucción SQL está mal, debería ser así :
Código SQL:
Ver original
  1. UPDATE cuenta SET eneroreal = @eneroreal WHERE enero=@enero
ya que si tienes un registro como este :
Cita:
ENERO - ENEROREAL
1 - X
1 - Y
2 - Z
y haces esto :
Código SQL:
Ver original
  1. @enero = 1
  2. @eneroreal = "A"
  3. UPDATE cuenta SET enero = @enero ,eneroreal = @eneroreal WHERE enero=@enero
tu filtro resulta esto :
Cita:
ENERO - ENEROREAL
1 - X
1 - Y
y actualizando sería esto :
Cita:
ENERO - ENEROREAL
1 - A
1 - A
Como ves, lo que cambia nada mas sería EneroReal. Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #5 (permalink)  
Antiguo 01/02/2013, 09:45
 
Fecha de Ingreso: noviembre-2011
Mensajes: 44
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: guardar en base de datos con acces y vb.net

ok gracias lo arregle pero como hacer que solo guarde el elemento seleccionado de esa fila del datagrid porque me actualiza todos los eneros y eneros reales de todos los demas registros.....la hacer doble click en la grilla de esta forma lo trabajo o combiene insertar en un texbox los datos y de ahi guardar con el boton
  #6 (permalink)  
Antiguo 01/02/2013, 09:47
 
Fecha de Ingreso: noviembre-2011
Mensajes: 44
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: guardar en base de datos con acces y vb.net

pero solo me guardaria en memoria los datos.....salgo del programa y vuelve con los valores originales. :( no se que esta mal
  #7 (permalink)  
Antiguo 01/02/2013, 09:48
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: guardar en base de datos con acces y vb.net

Hola kass_mad, para ello debes manejar un campo que sea PK(Primary Key) incremental, de manera que así se diferencie cada registro, y los puedas actualizar por éste nada mas :
Cita:
ID - ENERO - ENEROREAL
1 - 1 - A
2 - 1 - A
Es un tema ya de manejo de SQL. Saludos!.

PDT: Podrías poner todo el código para saber que es la variable "da", creo saber que objeto es, pero por si las dudas colocalo.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #8 (permalink)  
Antiguo 01/02/2013, 10:04
 
Fecha de Ingreso: noviembre-2011
Mensajes: 44
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: guardar en base de datos con acces y vb.net

si mira este es el codigo donde va el da

Dim CadenaConexion As String
CadenaConexion = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\ejemplo.mdb;Persist Security Info=True"
Dim miconexion As New OleDbConnection(CadenaConexion)
Dim da As New OleDbDataAdapter
Dim dt As New DataTable
Dim ds As New DataSet

miconexion.ConnectionString = CadenaConexion

y luego viene lo que puse, se que debe tener un campo claves pero esta base de datos fue usada con vb 6 y cuando vi la base de dato me pregunte lo mismmo , es raro porque como no va a tener un capo clave, la instruccion del vb 6 es asi

If listp = "Enero" Then
Data2.Recordset.Fields("Enero") = Text1.Text
Data2.Recordset.Fields("EneroReal") = Text2.Text
End If

aca en vb.net ya no esta el objeto data tendria que modificar la base de datos?? ayuda

gracias por toda tu
  #9 (permalink)  
Antiguo 01/02/2013, 10:35
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: guardar en base de datos con acces y vb.net

Lo que puedes hacer es primero actualizar el registro y posteriormente listar tu grilla nuevamente :
Código vb:
Ver original
  1. 'BLOQUE ACTUALIZAR
  2.        da.SelectCommand.CommandText = "UPDATE cuenta SET eneroreal = @eneroreal where enero=@enero"
  3.  
  4.         da.SelectCommand.Parameters.AddWithValue("@enero", DataGridView1.CurrentRow.Cells("enero").Value)
  5.         da.SelectCommand.Parameters.AddWithValue("@eneroreal", DataGridView1.CurrentRow.Cells("eneroreal").Value)
  6.         da.SelectCommand.Connection = miconexion
  7.  
  8.         miconexion.Open()
  9.         da.SelectCommand.ExecuteNonQuery()
  10.         miconexion.Close()
  11.  
  12.         'BLOQUE LISTADO
  13.        da.SelectCommand.CommandText = "Select * from cuenta"
  14.         da.SelectCommand.Connection = miconexion
  15.  
  16.         da.Fill(ds)
  17.         miconexion.Close()
  18.  
  19.  
  20.         DataGridView1.DataSource = ds.Tables(0)
  21.  
  22.         DataGridView1.Update()
  23.  
  24.         MessageBox.Show("Se Actualizo el registro con exito")
Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #10 (permalink)  
Antiguo 01/02/2013, 10:50
 
Fecha de Ingreso: noviembre-2011
Mensajes: 44
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: guardar en base de datos con acces y vb.net

gracias por la ayuda esta casi casi funcionando , al parecer actualiza el registro que yo solo elijo pero despues del mensaje el valor que ingreso como nuevo desaparece tambien y vuelve a quedar igual quisas el orden de las sentencias uyyy no se que pasa

gracias por la ayuda se ve que estaria funcioando pero que puede pasar que no midifica me envia el mensaje y todo me acepta el valor dato por dato pero muestra el mensaje y vuelve el valor antiguo
  #11 (permalink)  
Antiguo 01/02/2013, 10:56
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: guardar en base de datos con acces y vb.net

en esta parte :
Código vb:
Ver original
  1. da.SelectCommand.Parameters.AddWithValue("@enero",DataGridView1.CurrentRow.Cells("enero").Value)
  2. da.SelectCommand.Parameters.AddWithValue("@eneroreal",DataGridView1.CurrentRow.Cells("eneroreal").Value)
agregale el ToString() al momento de jalar el dato :
Código vb:
Ver original
  1. da.SelectCommand.Parameters.AddWithValue("@enero",DataGridView1.CurrentRow.Cells("enero").Value.ToString())
  2. da.SelectCommand.Parameters.AddWithValue("@eneroreal",DataGridView1.CurrentRow.Cells("eneroreal").Value.ToString())
y nos comentas. Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #12 (permalink)  
Antiguo 01/02/2013, 11:02
 
Fecha de Ingreso: noviembre-2011
Mensajes: 44
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: guardar en base de datos con acces y vb.net

no pasa nada me esta dado desesperacion agradesco todaa tu ayuda de verdad pero no se que puede ser si el codigo esta bien .

no se que hacer
  #13 (permalink)  
Antiguo 01/02/2013, 11:05
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: guardar en base de datos con acces y vb.net

Procura hacer seguimiento con los breakpoint, para que veas donde puede estar el problema.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #14 (permalink)  
Antiguo 01/02/2013, 11:10
 
Fecha de Ingreso: noviembre-2011
Mensajes: 44
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: guardar en base de datos con acces y vb.net

ok vere eso y te comento gracias igual por todo
  #15 (permalink)  
Antiguo 01/12/2014, 23:27
 
Fecha de Ingreso: diciembre-2014
Mensajes: 1
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: guardar en base de datos con acces y vb.net

hol, vi este tema Y resulta me esta pasando los mismo... el programa datagridview me actualizar informacion, pero no me modifica losl base de datos.... y en final pudiste resolverlo????

No se si es mi computadora o mi VB esta mal o algo hice mal durante el programacion... alguien me puede ayudar?
aqui dejo el programa....
http://www.mediafire.com/download/nna50sg47hcwfgk/cono+system.rar

estoy trabajando en VB2008 con Access 2010. Agradeceria mucho por su ayuda....

Etiquetas: datagridview, vb
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:54.