Retroceder   Foros del Web > Programación para sitios web > .NET

Respuesta
 
Herramientas Desplegado
Antiguo 24-jul-2006, 11:45   #1 (permalink)
hjavier ha deshabilitado el karma
 
Fecha de Ingreso: junio-2006
Mensajes: 103
Alegría Error Must declare the variable '@codigo'.)

HOla a todos,

Alguien me pudiera ayudar y indicarme que estoy haciendo en este insert que me da ese error.

Error Must declare the variable '@codigo'.)

aqui esta el codigo.

Dim insCon As New SqlConnection("server=localhost;uid=sa;pwd=admin;d atabase=csnet")
Dim insCmd As SqlCommand
Dim insstring As String
Dim codigo As Integer
Dim descr As String

codigo = 6
descr = "Hola2"
insstring = "INSERT INTO categoriausr VALUES(@codigo,@descr);"

insCon.Open()
insCmd = New SqlCommand(insstring, insCon)
insCmd.ExecuteNonQuery()
insCon.Close()

gracias.
hjavier está desconectado   Responder Citando
Antiguo 24-jul-2006, 14:22   #2 (permalink)
Scho está en el buen camino
 
Fecha de Ingreso: marzo-2004
Ubicación: Valencia
Mensajes: 359
Saludos!
No estás declarando los parámetros @codigo y @descr, te estás equivocando con:
Dim codigo As Integer
Dim descr As String
codigo = 6
descr = "Hola2"
Así sólo declaras unas variables pero no parámetros del SQL, prueba con:

Código:
Dim insCon As New SqlConnection("server=localhost;uid=sa;pwd=admin;d atabase=csnet")
Dim insCmd As SqlCommand
Dim insstring As String

insstring = "INSERT INTO categoriausr VALUES(@codigo,@descr);"

insCmd = New SqlCommand(insstring, insCon)

Dim parametro As SqlParameter
parametro = insCmd.Parameters.Add("@codigo", SqlDbType.Int)
parametro.Value = 6
parametro = insCmd.Parameters.Add("@descr", SqlDbType.VarChar, 255)
parametro.Value = "Hola2"

insCon.Open()
insCmd.ExecuteNonQuery()
insCon.Close()

Espero que te sirva. Saludos!
Scho está desconectado   Responder Citando
Antiguo 24-jul-2006, 16:34   #3 (permalink)
hjavier ha deshabilitado el karma
 
Fecha de Ingreso: junio-2006
Mensajes: 103
GRacias mil Scho. Me funciono, ahora quisiera ver si me puedes ayudar con este error que me esta dando, aqui no entiendo la razon. Miralo,

Error String or binary data would be truncated.
The statement has been terminated.)


Dim insCon As New SqlConnection("server=localhost;uid=sa;pwd=admin;d atabase=csnet")

insString = "INSERT INTO tbl_historico_seguimiento VALUES(@auditoria2,@face2,@instruccion2,@medida2,@ codigo2," _
& "@cod_compania2,@tipo_calificacion2,@i2,@dia_notif icacion2,@fecha_notificacion2,@notificado2," _
& "@estado2,@fecha_correcion2,@vencio_ayer2);"


parametro = insCmd.Parameters.Add("@auditoria2", SqlDbType.VarChar, 255)
parametro.Value = auditoria2
parametro = insCmd.Parameters.Add("@face2", SqlDbType.Int)
parametro.Value = face2
parametro = insCmd.Parameters.Add("@instruccion2", SqlDbType.Int)
parametro.Value = instruccion2
parametro = insCmd.Parameters.Add("@medida2", SqlDbType.VarChar, 10)
parametro.Value = medida2
parametro = insCmd.Parameters.Add("@codigo2", SqlDbType.Int)
parametro.Value = codigo2
parametro = insCmd.Parameters.Add("@cod_compania2", SqlDbType.Int)
parametro.Value = cod_compania2
parametro = insCmd.Parameters.Add("@tipo_calificacion2", SqlDbType.Int)
parametro.Value = tipo_calificacion2
parametro = insCmd.Parameters.Add("@i2", SqlDbType.Int)
parametro.Value = i2
parametro = insCmd.Parameters.Add("@dia_notificacion2", SqlDbType.Int)
parametro.Value = i2
parametro = insCmd.Parameters.Add("@fecha_notificacion2", SqlDbType.DateTime)
parametro.Value = fecha_notificacion2
parametro = insCmd.Parameters.Add("@notificado2", SqlDbType.Char)
parametro.Value = notificado2
parametro = insCmd.Parameters.Add("@estado2", SqlDbType.Char)
parametro.Value = estado2
parametro = insCmd.Parameters.Add("@fecha_correcion2", SqlDbType.DateTime)
parametro.Value = fecha_correcion2
parametro = insCmd.Parameters.Add("@vencio_ayer2", SqlDbType.Char)
parametro.Value = vencio_ayer2

insCmd = New SqlCommand(insString, insCon)
insCon.Open()
insCmd.ExecuteNonQuery()
insCon.Close()

gracias.
hjavier está desconectado   Responder Citando
Antiguo 25-jul-2006, 04:43   #4 (permalink)
Scho está en el buen camino
 
Fecha de Ingreso: marzo-2004
Ubicación: Valencia
Mensajes: 359
No se me decirte con seguridad, se me ocurre que, quizá, a algún parámetro SqlDbType.Int (como @face2) le estés pasando una variable double, o que al varchar 10 @medida2 le estés pasando una cadena más larga que 10, o quizá te estés equivocando al declarar @vencio_ayer2 y realmente sea un tipo bit y no un char. No puedo decirte con seguridad pero tiene pinta de ser algo de eso, que algún valor que le estás asignando a un parámetro, "desborde" el tipo datos de ese parámetro.

Un saludo.
Scho está desconectado   Responder Citando
Antiguo 26-jul-2006, 07:40   #5 (permalink)
hjavier ha deshabilitado el karma
 
Fecha de Ingreso: junio-2006
Mensajes: 103
Scho, gracias mil. Tu planteamiento fue correcto, el error estaba en el tipo de datos. He podido resolver.

Gracias mil.

Saludos.
hjavier está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 09:25.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93