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

insert con parametros

Estas en el tema de insert con parametros en el foro de .NET en Foros del Web. me tira este error:Must declare the variable '@idpais'. Código HTML: Dim Cn As OleDb.OleDbConnection Dim Orden As OleDb.OleDbCommand Cn = New OleDb.OleDbConnection("Provider=SQLOLEDB;Data Source=FORGE ;User id=custodia;password=custodia;initial ...
  #1 (permalink)  
Antiguo 06/10/2004, 06:47
 
Fecha de Ingreso: julio-2004
Ubicación: Arg. Neuquén
Mensajes: 44
Antigüedad: 19 años, 9 meses
Puntos: 0
insert con parametros

me tira este error:Must declare the variable '@idpais'.

Código HTML:
Dim Cn As OleDb.OleDbConnection

        Dim Orden As OleDb.OleDbCommand


        Cn = New OleDb.OleDbConnection("Provider=SQLOLEDB;Data Source=FORGE ;User id=custodia;password=custodia;initial catalog=custodia")

        Dim Cadena, idpais, nombre As String
        Cadena = "insert into paises(idpais,nombre) values(@idpais, @nombre)"
        Orden = New OleDb.OleDbCommand(Cadena, Cn)

        Orden.Parameters.Add(New OleDb.OleDbParameter("@idpais", OleDb.OleDbType.Integer))
        Orden.Parameters("@idpais").Value = idpais
        Orden.Parameters.Add(New OleDb.OleDbParameter("@nombre", OleDb.OleDbType.VarWChar, 20))
        Orden.Parameters("@nombre").Value = nombre

        Orden.Connection.Open()
        Orden.ExecuteNonQuery()
        Orden.Connection.Close()

        Response.Write("El dato ha sido grabado con exito!!!")
ayuda
  #2 (permalink)  
Antiguo 06/10/2004, 09:52
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Si estas usando el provieder SQLOLEDB (versiones menores a sql server 7), tienes que usar los parámetros de ésta forma:

Cita:
Dim cmd As New SqlCommand("insert into pais (idpais,nombre) values (?,?)", oConn)
cmd.Parameters.Add(New SqlParameter("@idpais", SqlDbType.Int))
cmd.Parameters("@idpais").Value = 1
cmd.Parameters.Add(New SqlParameter("@nombre", SqlDbType.VarChar, 50))
cmd.Parameters("@nombre").Value = "eduardo"

cmd.Connection.Open()
cmd.ExecuteNonQuery()
cmd.Connection.Close()
Pruebalo y nos cuentas que tal..

Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 06/10/2004, 10:48
Avatar de luiscl  
Fecha de Ingreso: abril-2004
Ubicación: Zaragoza
Mensajes: 305
Antigüedad: 20 años
Puntos: 0
También puede ser símplente que no tengas bien definida la variable. Por ejemplo, que la tengas definida en otra función, y ahí ya hayas perdido el valor.

Si la creas en otra función, métela en una variable global para que la tengas definida en todo el code behind

Un saludo
__________________
Pide lo que quieras...y luego paga por ello
  #4 (permalink)  
Antiguo 02/04/2009, 21:37
 
Fecha de Ingreso: enero-2008
Ubicación: Lima - Perú
Mensajes: 1.127
Antigüedad: 16 años, 3 meses
Puntos: 10
Respuesta: insert con parametros

Como va tengo un problema similar cual es la sintaxis para hacer un insert con parametros.
Estoy utilizando el objeto oledbConection y NO el sqlConection

Solo he encontrado que se utiliza el simbolo ? en lugar del @

Cadena = "insert into paises(idpais,nombre) values(?, ?)"

Alguien por ahi que recuerde la sintaxis para vb.net 2003?
  #5 (permalink)  
Antiguo 22/01/2010, 09:28
 
Fecha de Ingreso: agosto-2009
Mensajes: 2
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: insert con parametros

lo que pasa esk cuando le das el tipo de dato al parametro @idpais
loe stas dando como integer fijate bien el la tabla de q tipo es quizas sea decimal,
string.

asi como la otra variable. Ok haber si te sirve
  #6 (permalink)  
Antiguo 09/11/2011, 14:44
 
Fecha de Ingreso: noviembre-2011
Mensajes: 6
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: insert con parametros

Esto es lo que he aplicado en el code de mi aplicación, soy bastante novato y estoy seguro de que no lo hize bien, además, las primeras líneas aparecen subrayadas en verde indicando el siguiente mensaje: "variable local sin utilizar"

Código:
 Sub Nuevo()

        Dim classes, idclass, naime, day, hours, teacher, groupp, subjects, classroom As String
        classes = "Insert into classes(idclass, naime, day,hours, teacher, groupp,subjects, classroom)values(@idclass, @naime, @day,@hour,@teacher,@groupp,@subjects,@classroom)"
        Dim cmd As New OleDb.OleDbCommand(classes, cn)

        cmd.Parameters.AddWithValue("idclass", cbokidclass.Text)
        cmd.Parameters.AddWithValue("naime", txtname.Text)
        cmd.Parameters.AddWithValue("day", cbokday.Text)
        cmd.Parameters.AddWithValue("hours", cbokhour.Text)
        cmd.Parameters.AddWithValue("teacher", cbokteacher.Text)
        cmd.Parameters.AddWithValue("groupp", cbokgroup.Text)
        cmd.Parameters.AddWithValue("subjects", cboksubject.Text)
        cmd.Parameters.AddWithValue("classroom", cbokroom.Text)

        cn.Open()
        cmd.ExecuteNonQuery()
        cn.Close()
    End Sub
¿Qué correción debo hacer?
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 14:15.