Visual Basic - Sentencia SQL

Life is soft - evento anual de software empresarial
 
Vista:

Sentencia SQL

Publicado por Matias (136 intervenciones) el 24/05/2007 18:59:29
Bueno hola que tal i problema es que tengo la siguiente sentencia SQL para posicionarme cobre una tabla localidad y sobre el registro que sea igual a variables.v_codpostal esta es la sentencia :

Public Sub spro_codpostal()
Dim strsql As String
strsql = "select * from localidades" & "where nombre =" & variable.v_codpostal

Set Rs = New ADODB.Recordset
Rs.ActiveConnection = DB
Rs.Open (strsql), DB, adOpenDynamic, adLockOptimistic

variable.v_codpostal = Rs!codpostal
End Sub
el problema es que me tira error de sintaxis en el from

y cuando la ejecuto de esta manera entra bien

Public Sub spro_codpostal()
Dim strsql As String
strsql = "select * from localidades"

Set Rs = New ADODB.Recordset
Rs.ActiveConnection = DB
Rs.Open (strsql), DB, adOpenDynamic, adLockOptimistic

variable.v_codpostal = Rs!codpostal
End Sub


alguien me puede decir porque de la primer forma no entra. cual seria mi error muchas gracias !!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Sentencia SQL

Publicado por Luis Prieto (167 intervenciones) el 24/05/2007 19:13:14
Hola, Matias!!

Estas concatenando mal.
Deberia ser asi.

strsql = "select * from localidades where nombre ='"& variable &"' "

esa es la forma, recuerda que si el campo es tipo texto va con comillas simples y si es numerico va sin las comillas simples.

Para la peoxima vez que hahas una pregunta especifica que gestor de BD usas y versión.

Saludos!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Sentencia SQL

Publicado por reinaldo (1 intervención) el 24/05/2007 20:09:16
Usa las comillas simples " ' " al principio de la comparacion y al final además separa con espacios despues del operador & asi:

strsql = "select * from localidades " & "where nombre = ' " & variable.v_codpostal & "' "

o asi:

strsql = "select * from localidades where nombre = ' " & variable.v_codpostal & "' "

Mi recomendacion es que no uses * en las consultas porque es lo mas ineficiente del mundo....

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Sentencia SQL

Publicado por JOSE ANTONIO (1 intervención) el 24/05/2007 20:28:14
creo que no entra porque si ' variable.v_codpostal ' es una cadena tendría que poner comillas , además tendrías que dejar espacio entre el & y el where. Prueba así:

strsql = "select * from localidades" & " where nombre ='" & variable.v_codpostal & "'"
observa el espacio entre el & "<espacio> where... y también como despues de nobre ponemos una comilla simple: nombre=<colmilla simple>" & variable.v_codpostal & " <comilla simple>"

Prueba así, un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar