Uso del valor de una variable de VB en sentencia SQL

Sirius

Lanero Regular
25 Abr 2004
25
Problema con uso del valor de una variable de VB en sentencia SQL

Hola a todos, tengo el siguiente problema en el uso de SQL en VB 6.0.

Lo que pasa es que quiero utilizar el valor que tengo en alguna variable o ya sea que haya sido entroducido en un text box en una sentencia SQL. Por ejemplo en cuando quiero actualizar la base de datos, por ejemplo si tengo

Dim SQl as String
Dim tbl as recordset
Dim bd1 as database

sql= "UPDATE tabla1 SET edad = 23 WHERE edad < 20"
bd1.Execute sql

ahi no hay problema por que se actualiza el campo edad (el campo edad en la base de datos esta definido como numerico) con 23 donde tuviera un valores menores a 20, pero cuando quiero utilizar una variable que contenga ese 23, es ahi donde tengo el problema es decir si tuviera

Dim tbl as recordset
Dim bd1 as database
Dim SQl as String
Dim age as Integer

age = 23
sql= "UPDATE tabla1 SET edad = age WHERE edad < 20" o
sql= "UPDATE tabla1 SET edad = text1.text WHERE edad < 20"
bd1.Execute sql

ahi me da error, y no se que operador poder para que edad tome encuenta el valor de la variable age, o no se igual el valor que tengo en un text box, espero que alguien me pueda ayudar y me diga si tengo que poner un operador especial por que ya trate con varios con ' ', con " " con # #, @ y nada ; o hay algo mal en la bse de datos, que es ACCESS donde la desarrolle, o no se si tengo que tener algun componente de VB integrado o algo, por favor espero me puedan ayudar o dar alguna idea GRACIAS

Sirius Black
 
Tu problema es que estas generando mal la cadena que compone la sentencia SQL.

Intenta con algo como sql= "UPDATE tabla1 SET edad= " + age + " WHERE edad < 20" para que te tome el valor de la variable como string dentro de la sentencia porque tal como esta, lo que estas haciendo es setear la cadena "age" dentro del campo edad donde sea menor que 20 y ahi es donde te bota error si dicho campo es numérico.
 
Lo que dice lemolina esta bien para concatenar cadenas se utiliza el caracter + , simplemente toma lo que hay entre parentesis y le concatena la variable
 

Los últimos temas