Problema con UPDATE

19/12/2005 - 15:39 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 Héctor Fernández
19/12/2005 - 16:41 | Informe spam
Probaste a kitarle las comitas de: '" & txtRecordp.Text & "'?
"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..


Respuesta Responder a este mensaje
#2 Lord Voldemort
20/12/2005 - 00:22 | Informe spam
prueba meter la consulta en una variable y luego enviala a la ventana de
salida
dim strConsulta as String
strConsulta = ("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 & "')")


esa es la idea..
luego la pasas a la ventana de salida

Debug.WriteLine(strConsulta)

haber que te da.. mira como queda armada tu instruccion..

cheka tambien si tu campo recordp es el tipo de campo que crees que es...


"JReyes" wrote in message
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..

Respuesta Responder a este mensaje
#3 Lluís Franco
20/12/2005 - 10:40 | Informe spam
Hola,
Es mejor usar un procedimiento almacenado y objetos SQLCommand y
SQLParameter:
De esta forma te ahorras problemas a la hora de pasar los argumentos y
posibles problemas de seguridad como inyección de SQL.

Supongamos un procedimiento almacenado como este en la BD "Northwind":

CREATE PROCEDURE spu_Product
@ProductId int,
@ProductName nvarchar(50),
@UnitPrice money
AS
SET NOCOUNT ON
UPDATE Products
SET
ProductName = @ProductName,
UnitPrice = @UnitPrice
WHERE ProductId = @ProductId
SET NOCOUNT OFF
GO

Lo llamas desde tu aplicación desde un procedimiento como este:

Private Sub GuardarProducto(ByVal pProductId As Integer, _
ByVal pProductName As String, ByVal pUnitPrice As Single)
Dim oCnn As New SqlClient.SqlConnection(strCnn)
Dim oCmd As New SqlClient.SqlCommand("spu_Product")
Try
oCnn.Open()
oCmd.Connection = oCnn
oCmd.CommandType = CommandType.StoredProcedure
oCmd.Parameters.Add( _
New SqlParameter("@ProductId", _
SqlDbType.Int)).Value = pProductId
oCmd.Parameters.Add( _
New SqlParameter("@ProductName", _
SqlDbType.NVarChar, 50)).Value = pProductName
oCmd.Parameters.Add( _
New SqlParameter("@UnitPrice", _
SqlDbType.Money)).Value = pUnitPrice
oCmd.ExecuteNonQuery()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Exclamation)
Finally
oCnn.Close()
End Try
End Sub

Saludos,

Lluís Franco i Montanyés
[MS-MVP-MCP Visual Basic]

This posting is provided "AS IS" with no warranties, and confers no rights.
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho

(Guía de netiquette del foro)
http://www.uyssoft.com/MSNews.aspx?sm
FIMARGE, S.A.
Principat d'Andorra

Tel.: +376 805 100
Fax: +376 824 500
Mi Perfil MVP en:
https://mvp.support.microsoft.com/profileaa1615-1a2f-4202-bc3f-aec297d967d2
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida