Problema con UPDATE

19/12/2005 - 15:56 por JReyes | Informe spam
Tengo este codigo para hacer un update en una base de datos SQL Server:
Try
Dim Insertar As Boolean = ExecuteNonQuery("UPDATE visitas " & _
"SET recordp = '" & txtRecordp.Text & "'," & _
"fechaadm = '" & mskFechaadm.Text & "'," & _
"codigos = '" & txtCodigoSeguro.Text.Trim & "'," & _
"poliza = '" & txtPoliza.Text.Trim & "'," & _
"grupo = '" & txtGrupo.Text.Trim & "'," & _
"nombres = '" & txtNombreSeg.Text.Trim & "') WHERE (recordn = '"
& txtRecordn.Text.Trim & "')")
If Insertar Then
MsgBox("Grabado correctamente...")
Else
MsgBox("Ha ocurrido un error...")
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try

Pero me presenta el suiguiente error:

Cast from string "UPDATE visitas SET recordp = '0'" to type 'Long' is not
valid.

Pueden ayudarme a resolver esto.
Gracias de antemano..

Preguntas similare

Leer las respuestas

#1 Miguel A. Nievas - MCAD.NET
19/12/2005 - 19:23 | Informe spam
El tema es que estas metiendo en RECORDP un String. y te esta diciendo que
pongas un LONG.. o sea.. hace un convert e a CLng(txtRecordp.Text) y sacale
las comillas simples

Atte. Miguel A. Nievas
MCAD.NET

"JReyes" wrote:

Tengo este codigo para hacer un update en una base de datos SQL Server:
Try
Dim Insertar As Boolean = ExecuteNonQuery("UPDATE visitas " & _
"SET recordp = '" & txtRecordp.Text & "'," & _
"fechaadm = '" & mskFechaadm.Text & "'," & _
"codigos = '" & txtCodigoSeguro.Text.Trim & "'," & _
"poliza = '" & txtPoliza.Text.Trim & "'," & _
"grupo = '" & txtGrupo.Text.Trim & "'," & _
"nombres = '" & txtNombreSeg.Text.Trim & "') WHERE (recordn = '"
& txtRecordn.Text.Trim & "')")
If Insertar Then
MsgBox("Grabado correctamente...")
Else
MsgBox("Ha ocurrido un error...")
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try

Pero me presenta el suiguiente error:

Cast from string "UPDATE visitas SET recordp = '0'" to type 'Long' is not
valid.

Pueden ayudarme a resolver esto.
Gracias de antemano..


Respuesta Responder a este mensaje
#2 Miguel Angel Campos
20/12/2005 - 08:58 | Informe spam
Construir una sentencia SQL mediante concatenación de cadenas es algo que
siempre da problemas, tanto mientras si estas programando (puesto que tienes
que estar pendiente del tipo de dato, de si has cerrado las comillas que has
abierto antes, etc), tanto en tiempo de ejecución (las tecnicas de SQL
injection pueden hacer extragos en una base de datos).

Lo mejor que puedes hacer es utilizar una consulta parametrizada, te adjunto
un articulo (lo siento pero está en ingles) de como utilizarlas, es muy
sencillo:
http://aspnet101.com/aspnet101/tutorials.aspx?id=1

Un Saludo,

Miguel Angel Campos
MCAD.NET

"JReyes" escribió en el mensaje
news:
Tengo este codigo para hacer un update en una base de datos SQL Server:
Try
Dim Insertar As Boolean = ExecuteNonQuery("UPDATE visitas " & _
"SET recordp = '" & txtRecordp.Text & "'," & _
"fechaadm = '" & mskFechaadm.Text & "'," & _
"codigos = '" & txtCodigoSeguro.Text.Trim & "'," & _
"poliza = '" & txtPoliza.Text.Trim & "'," & _
"grupo = '" & txtGrupo.Text.Trim & "'," & _
"nombres = '" & txtNombreSeg.Text.Trim & "') WHERE (recordn =
'"
& txtRecordn.Text.Trim & "')")
If Insertar Then
MsgBox("Grabado correctamente...")
Else
MsgBox("Ha ocurrido un error...")
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try

Pero me presenta el suiguiente error:

Cast from string "UPDATE visitas SET recordp = '0'" to type 'Long' is not
valid.

Pueden ayudarme a resolver esto.
Gracias de antemano..


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