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

problema al grabar en base de dato access

Estas en el tema de problema al grabar en base de dato access en el foro de .NET en Foros del Web. Buenas gente, les dejo el codigo de mi programa, la idea es guardar 5 datos personales de un cliente en una base de datos access ...
  #1 (permalink)  
Antiguo 12/10/2012, 08:41
 
Fecha de Ingreso: diciembre-2009
Mensajes: 6
Antigüedad: 14 años, 4 meses
Puntos: 0
problema al grabar en base de dato access

Buenas gente, les dejo el codigo de mi programa, la idea es guardar 5 datos personales de un cliente en una base de datos access 2007 con visual 2010.
El problema es que no puedo grabar se cae el programa y me sale el siguiente error: "invalid castexception was unhandled"
Estube buscado por todo internet una respuesta antes de realizar una pregunta pero encontre muchas opiniones y ninguna me sirvio.
Les dejo el pedazo del codigo del boton donde se realiza la escritura en la base.




Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

'create the database connection
Dim aConnection As OleDbConnection
aConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; DataSource=D:\\Kiosco.mdb")


'Guardo en variables los valores que muestran los label

Dim campo1, campo2, campo4 As String
'Dim campo3, campo5 As Integer
campo1 = Label2.Text
campo2 = Label4.Text
campo3 = Label6.Text
campo4 = Label7.Text
campo5 = Label10.Text
'create the command object and store the sql query
Dim aCommand As OleDbCommand
aCommand = New OleDbCommand("insert into Cliente(nombre, apellido, telefono, direccion, dni) values ('" + campo1 + "','" + campo2 + "'," + campo3 + ",'" + campo4 + "'," + campo5 + ")", aConnection)
Try
aConnection.Open()
'create the datareader object to connect to table
Dim aReader As OleDbDataReader
aReader = aCommand.ExecuteReader()
MessageBox.Show("Cliente guardado con exito")
'close the reader
aReader.Close()
'Some usual exception handling
Catch ex As OleDbException
MessageBox.Show(ex.Message)
Console.ReadLine()
Finally
'close the connection Its important.
aConnection.Close()
End Try
End Sub
End Class

Última edición por Fendul; 12/10/2012 a las 08:46
  #2 (permalink)  
Antiguo 12/10/2012, 08:49
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: problema al grabar en base de dato access

Hola Fendul!!
1º Bienvenido al Foro.
2º Los campos campo3 y campo5 donde los declaras?? Veo que estan como comentados... :
Cita:
'Dim campo3, campo5 As Integer
...
campo3 = Label6.Text
campo4 = Label7.Text
campo5 = Label10.Text
Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #3 (permalink)  
Antiguo 12/10/2012, 08:52
 
Fecha de Ingreso: diciembre-2009
Mensajes: 6
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: problema al grabar en base de dato access

me respondiste muy rapido y no me dejaste editar el texto xD ... aparecen comentados porque intente mandar todos las variables como string para ver si aunque sea asi me grababa pero no
  #4 (permalink)  
Antiguo 12/10/2012, 08:54
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: problema al grabar en base de dato access

Entonces coloca el código como deseabas editarlo para verificar. Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #5 (permalink)  
Antiguo 12/10/2012, 08:57
 
Fecha de Ingreso: diciembre-2009
Mensajes: 6
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: problema al grabar en base de dato access

es exactamente igual al que se encuentra alli, solamente sin el comentario al que tu hacias referencias. Minutos habia editado para borrar unas sentencias que tenia echas de prueba que no iban y no puedo editar nuevamente :S
  #6 (permalink)  
Antiguo 12/10/2012, 09:13
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: problema al grabar en base de dato access

Has intentando colocarlo de la siguiente manera? :
Código vb:
Ver original
  1. Dim campo1, campo2, campo4 As String
  2. Dim campo3, campo5 As Integer
  3. campo1 = Label2.Text
  4. campo2 = Label4.Text
  5. campo3 = Convert.ToInt32(Label6.Text)
  6. campo4 = Label7.Text
  7. campo5 = Convert.ToInt32(Label10.Text)
Saludos!.

PDT: Si aún así muestra error, Indícanos en qué linea cae.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #7 (permalink)  
Antiguo 12/10/2012, 09:28
 
Fecha de Ingreso: diciembre-2009
Mensajes: 6
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: problema al grabar en base de dato access

Sigue con el mismo error y marca la siguiente linea en color amarillo con el error

aCommand = New OleDbCommand("insert into Cliente(nombre, apellido, telefono, direccion, dni) values ('" + campo1 + "','" + campo2 + "'," + campo3 + ",'" + campo4 + "'," + campo5 + ")", aConnection)
  #8 (permalink)  
Antiguo 12/10/2012, 09:39
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: problema al grabar en base de dato access

Ok Fendul, has lo siguiente de manera correcta :
Código vb:
Ver original
  1. Dim campo1, campo2, campo4 As String
  2. Dim campo3, campo5 As Integer
  3. campo1 = Label2.Text
  4. campo2 = Label4.Text
  5. campo3 = Convert.ToInt32(Label6.Text)
  6. campo4 = Label7.Text
  7. campo5 = Convert.ToInt32(Label10.Text)
  8.  
  9.  
  10. aCommand = new OleDbCommand("insert into Cliente(nombre, apellido, telefono, direccion, dni) values (@campo1,@campo2,@campo3,@campo4,@campo5)", aConnection);
  11. aCommand.Parameters.AddWithValue("@campo1", campo1);
  12. aCommand.Parameters.AddWithValue("@campo2", campo2);
  13. aCommand.Parameters.AddWithValue("@campo3", campo3);
  14. aCommand.Parameters.AddWithValue("@campo4", campo4);
  15. aCommand.Parameters.AddWithValue("@campo5", campo5);
Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #9 (permalink)  
Antiguo 12/10/2012, 10:32
 
Fecha de Ingreso: diciembre-2009
Mensajes: 6
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: problema al grabar en base de dato access

bien ahora cambio el problema, no se cae el programa pero me sale el siguiente mensaje de error:

"no se pudo encontrar el archivo isam instalable"

estube buscando por internet y segun lei es un problema con mi windows de 64 bit,, capaz vos puedas serme mas especifico
  #10 (permalink)  
Antiguo 12/10/2012, 10:54
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: problema al grabar en base de dato access

modifica lo siguiente en tu cadena e conexion :
Código vb:
Ver original
  1. aConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; DataSource=D:\\Kiosco.mdb;Extended Properties='Excel 8.0;HDR=Yes;IMEX=1'")
Prueba y nos comentas!.
Fuente : http://www.connectionstrings.com/excel
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #11 (permalink)  
Antiguo 12/10/2012, 16:03
 
Fecha de Ingreso: diciembre-2009
Mensajes: 6
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: problema al grabar en base de dato access

sigue con el problema del isam instalable :S

Etiquetas: access, dato, net, sql, visual
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.