Error Añadir Fila SQLCE 2005

28/02/2006 - 16:17 por Oscar M | Informe spam
Hola, al intentar agregar una nueva fila en una tabla obtengo el siguiente
error:There was an error parsing the query. [Token line number,Token line
offset,,Token in error,,]
No se por donde puede venir el error, asi que os copio las rutinas que
utilizo para cargar la tabla y añadir la fila:Esta es la rutina al cargar el
formulario, en ella rellenamos el DataSet con la tabla VisitasPrivate Sub
VDetalle_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles MyBase.Load

VerBotones(False)

Dim cn As SqlCeConnection

Try

cn = New SqlCeConnection("Data Source=\Program
Files\sistema\Bcontrolito.sdf")

cn.Open()

Dim cmd As SqlCeCommand = cn.CreateCommand

cmd.CommandText = "SELECT * FROM Visitas"

da = New SqlCeDataAdapter(cmd)

Dim CB As SqlCeCommandBuilder

CB = New SqlCeCommandBuilder(da)

' Como hay campos con caracteres especiales,

' al usarlos incluirlos entre corchetes.

CB.QuotePrefix = "["

CB.QuoteSuffix = "]"

' Asignar los comandos al DataAdapter

da.UpdateCommand = CB.GetUpdateCommand

da.InsertCommand = CB.GetInsertCommand

da.DeleteCommand = CB.GetDeleteCommand

' Esta base de datos usa el ID con valores automáticos

da.MissingSchemaAction = MissingSchemaAction.AddWithKey

da.Fill(ds)

RellenarTxts(0)

Dim Fila As DataRow

Fila = ds.Tables(0).Rows(ds.Tables(0).Rows.Count - 1)

IDGlobal = CInt(Fila("IDVisita")) + 1

Catch sqlex As SqlCeException

Dim sqlError As SqlCeError

For Each sqlError In sqlex.Errors

MessageBox.Show(sqlError.Message)

Next

Catch ex As Exception

MessageBox.Show(ex.Message)

Finally

If cn.State <> ConnectionState.Closed Then

cn.Close()

End If

End Try

End Sub







Y este es la rutina del boton que acepta los valores introducidos en los
textbox

Private Sub BtnAceptar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtnAceptar.Click

Dim cn As SqlCeConnection

Try

Dim Fila As DataRow

Fila = ds.Tables(0).NewRow

Fila("IDVisita") = IDGlobal

Fila("Direccion") = Me.TxtDireccion.Text

Fila("Localidad") = Me.TxtLocalidad.Text

Fila("CP") = Me.TxtCp.Text

Fila("Contacto") = Me.TxtContacto.Text

Fila("Telefono") = Me.TxtTelefono.Text

Fila("Movil") = Me.TxtMovil.Text

Fila("Email") = Me.TxtEmail.Text

ds.Tables(0).Rows.Add(Fila)

da.Update(ds)

ds.Tables(0).AcceptChanges()

MessageBox.Show("Registro agregado")

IDGlobal = IDGlobal + 1

BloquearTxts(True)

VerBotones(False)



Catch sqlex As SqlCeException

Dim sqlError As SqlCeError

For Each sqlError In sqlex.Errors

MessageBox.Show(sqlError.Message)

Next

Catch ex As Exception

MessageBox.Show(ex.Message)

Finally

End Try

End Sub

Preguntas similare

Leer las respuestas

#1 Oscar M
28/02/2006 - 16:45 | Informe spam
Hola a todos de nuevo...

pues de momento a base de prueba y error he conseguido que funcione
eliminando las siguientes lineas:

CB.QuotePrefix = "["
CB.QuoteSuffix = "]"

no se muy bien por que, pero funciona...

Si alguién me lo puede explicar un poco, soy todo ojos...




"Oscar M" escribió en el mensaje
news:
Hola, al intentar agregar una nueva fila en una tabla obtengo el siguiente
error:There was an error parsing the query. [Token line number,Token line
offset,,Token in error,,]
No se por donde puede venir el error, asi que os copio las rutinas que
utilizo para cargar la tabla y añadir la fila:Esta es la rutina al cargar
el formulario, en ella rellenamos el DataSet con la tabla VisitasPrivate
Sub VDetalle_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

VerBotones(False)

Dim cn As SqlCeConnection

Try

cn = New SqlCeConnection("Data Source=\Program
Files\sistema\Bcontrolito.sdf")

cn.Open()

Dim cmd As SqlCeCommand = cn.CreateCommand

cmd.CommandText = "SELECT * FROM Visitas"

da = New SqlCeDataAdapter(cmd)

Dim CB As SqlCeCommandBuilder

CB = New SqlCeCommandBuilder(da)

' Como hay campos con caracteres especiales,

' al usarlos incluirlos entre corchetes.

CB.QuotePrefix = "["

CB.QuoteSuffix = "]"

' Asignar los comandos al DataAdapter

da.UpdateCommand = CB.GetUpdateCommand

da.InsertCommand = CB.GetInsertCommand

da.DeleteCommand = CB.GetDeleteCommand

' Esta base de datos usa el ID con valores automáticos

da.MissingSchemaAction = MissingSchemaAction.AddWithKey

da.Fill(ds)

RellenarTxts(0)

Dim Fila As DataRow

Fila = ds.Tables(0).Rows(ds.Tables(0).Rows.Count - 1)

IDGlobal = CInt(Fila("IDVisita")) + 1

Catch sqlex As SqlCeException

Dim sqlError As SqlCeError

For Each sqlError In sqlex.Errors

MessageBox.Show(sqlError.Message)

Next

Catch ex As Exception

MessageBox.Show(ex.Message)

Finally

If cn.State <> ConnectionState.Closed Then

cn.Close()

End If

End Try

End Sub







Y este es la rutina del boton que acepta los valores introducidos en los
textbox

Private Sub BtnAceptar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtnAceptar.Click

Dim cn As SqlCeConnection

Try

Dim Fila As DataRow

Fila = ds.Tables(0).NewRow

Fila("IDVisita") = IDGlobal

Fila("Direccion") = Me.TxtDireccion.Text

Fila("Localidad") = Me.TxtLocalidad.Text

Fila("CP") = Me.TxtCp.Text

Fila("Contacto") = Me.TxtContacto.Text

Fila("Telefono") = Me.TxtTelefono.Text

Fila("Movil") = Me.TxtMovil.Text

Fila("Email") = Me.TxtEmail.Text

ds.Tables(0).Rows.Add(Fila)

da.Update(ds)

ds.Tables(0).AcceptChanges()

MessageBox.Show("Registro agregado")

IDGlobal = IDGlobal + 1

BloquearTxts(True)

VerBotones(False)



Catch sqlex As SqlCeException

Dim sqlError As SqlCeError

For Each sqlError In sqlex.Errors

MessageBox.Show(sqlError.Message)

Next

Catch ex As Exception

MessageBox.Show(ex.Message)

Finally

End Try

End Sub


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida