Foros del Web » Programación para mayores de 30 ;) » .NET »

Error Must declare the variable '@codigo'.)

Estas en el tema de Error Must declare the variable '@codigo'.) en el foro de .NET en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 24/07/2006, 11:45
 
Fecha de Ingreso: junio-2006
Mensajes: 105
Antigüedad: 18 años, 5 meses
Puntos: 0
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.
  #2 (permalink)  
Antiguo 24/07/2006, 14:22
 
Fecha de Ingreso: marzo-2004
Ubicación: Valencia
Mensajes: 367
Antigüedad: 20 años, 8 meses
Puntos: 1
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!
  #3 (permalink)  
Antiguo 24/07/2006, 16:34
 
Fecha de Ingreso: junio-2006
Mensajes: 105
Antigüedad: 18 años, 5 meses
Puntos: 0
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.
  #4 (permalink)  
Antiguo 25/07/2006, 04:43
 
Fecha de Ingreso: marzo-2004
Ubicación: Valencia
Mensajes: 367
Antigüedad: 20 años, 8 meses
Puntos: 1
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.
  #5 (permalink)  
Antiguo 26/07/2006, 07:40
 
Fecha de Ingreso: junio-2006
Mensajes: 105
Antigüedad: 18 años, 5 meses
Puntos: 0
Scho, gracias mil. Tu planteamiento fue correcto, el error estaba en el tipo de datos. He podido resolver.

Gracias mil.

Saludos.
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 22:30.