Foros del Web » Programando para Internet » ASPX (.net) »

Problema al guardar en BDD en ADO

Estas en el tema de Problema al guardar en BDD en ADO en el foro de ASPX (.net) en Foros del Web. Hola!, este es el codigo: Declaracion: Código: Public Conexion As New OleDbConnection Public CadenaConexion As String = "Provider = Microsoft.Jet.OLEDB.4.0; Password =; Data Source = ...
  #1 (permalink)  
Antiguo 15/02/2010, 10:13
 
Fecha de Ingreso: julio-2009
Mensajes: 157
Antigüedad: 15 años, 5 meses
Puntos: 2
Problema al guardar en BDD en ADO

Hola!, este es el codigo:

Declaracion:

Código:
 Public Conexion As New OleDbConnection
    Public CadenaConexion As String = "Provider = Microsoft.Jet.OLEDB.4.0; Password =; Data Source = Vives.mdb"
    Public CadenaInsertar As String = "INSERT INTO log VALUES (@Cuando,@Motivo)"
Asignacion:

Código:
Try
                        Conexion = New OleDbConnection(CadenaConexion)
                        Dim ComandoAgregar As New OleDbCommand(CadenaInsertar, Conexion)
                        ComandoAgregar.Parameters.AddWithValue("@Cuando", Date.Now)
                        ComandoAgregar.Parameters.AddWithValue("@Motivo", "Error de login")
                        Conexion.Open()
                        ComandoAgregar.ExecuteNonQuery()
                        ComandoAgregar.Cancel()
                        Conexion.Close()

                    Catch ex As Exception
                        'MsgBox("La fila no ha podido ser insertada en la tabla. ")
                        MsgBox(ex.Message)
                    End Try
Y me pone que no son las mismas las de entrada y salida... alguien ve algún fallo?

Gracias
  #2 (permalink)  
Antiguo 15/02/2010, 10:14
 
Fecha de Ingreso: julio-2009
Mensajes: 157
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Problema al guardar en BDD en ADO

(He imporado:

Imports System.Data
Imports System.Data.OleDb

)

Saludos
  #3 (permalink)  
Antiguo 15/02/2010, 10:16
 
Fecha de Ingreso: julio-2009
Mensajes: 157
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Problema al guardar en BDD en ADO

y al poner:

Public CadenaInsertar As String = "INSERT INTO log (Cuando,Motivo) VALUES (@Cuando,@Motivo)"

Pone que Cuando no esta bien escrito... ¬¬
  #4 (permalink)  
Antiguo 18/02/2010, 05:22
 
Fecha de Ingreso: enero-2010
Ubicación: Sevilla
Mensajes: 202
Antigüedad: 14 años, 11 meses
Puntos: 5
Respuesta: Problema al guardar en BDD en ADO

Si lo que quieres es insertar un registro en la tabla de Log, como creo entender.
En lugar de hacer

Public CadenaInsertar As String = "INSERT INTO log VALUES (@Cuando,@Motivo)"
y luego
ComandoAgregar.Parameters.AddWithValue("@Cuando", Date.Now)
ComandoAgregar.Parameters.AddWithValue("@Motivo", "Error de login")


Creo que sería suficiente con esto

Public CadenaInsertar As String = "INSERT INTO log VALUES ('" & Date.Now.ToString & "'," & "Error de Login)"

Luego ejecutas esa sentencia y listo.

Recomendación:
Utiliza el MS Data Application Block para todas tus operaciones de base de datos y que quitarás millones de problemas.
http://www.elguille.info/colabora/puntonet/hlcont_applicationblocks.htm
  #5 (permalink)  
Antiguo 18/02/2010, 19:01
 
Fecha de Ingreso: enero-2006
Mensajes: 293
Antigüedad: 18 años, 11 meses
Puntos: 4
Respuesta: Problema al guardar en BDD en ADO

tu tabla log solo tiene los campos Cuando y Motivo?

si no es asi tendrías que poner tu insert de la forma:

INSERT INTO tabla (campo1,campo2,.. campoN) VALUES (value1,value2,...valueN)

ahora...

Cita:
Iniciado por MiguelFT Ver Mensaje
y al poner:

Public CadenaInsertar As String = "INSERT INTO log (Cuando,Motivo) VALUES (@Cuando,@Motivo)"

Pone que Cuando no esta bien escrito... ¬¬
Creo que tu problema es, que log es una palabra clave de sql...

Para solucionarlo usa corchetes []:


Código SQL:
Ver original
  1. INSERT INTO [log] (Cuando,Motivo) VALUES (@Cuando,@Motivo)

Etiquetas: ado, aspx, bbdd
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 06:18.