Foros del Web » Programando para Internet » ASP Clásico »

Ven error en este script?

Estas en el tema de Ven error en este script? en el foro de ASP Clásico en Foros del Web. En una formula lleno los campos a buscar en la BD y el action va a esta pagina que me da problemas, la parte que ...
  #1 (permalink)  
Antiguo 28/04/2002, 17:12
 
Fecha de Ingreso: enero-2002
Ubicación: Perez Zeledon Costa Rica
Mensajes: 1.009
Antigüedad: 22 años, 5 meses
Puntos: 11
Ven error en este script?

En una formula lleno los campos a buscar en la BD y el action va a esta pagina que me da problemas, la parte que me da problema es esta
gsSQL = ""
gsSQL = gsSQL & "SELECT * FROM Auctions WHERE CategoryID = " & SQLVal(iCatID) & " "
gsSQL = gsSQL & " AND AvailDate <= " & SQLDate(NOW)
gsSQL = gsSQL & " AND ItemOwner = " & SQLstr(sOwner) ' campo numerico
gsSQL = gsSQL & " AND Province = " & SQLstr(sProvince)
gsSQL = gsSQL & " AND PropertyType = " & SQLstr(sPropertyType)
gsSQL = gsSQL & " AND City = " & SQLstr(sCity)
gsSQL = gsSQL & " AND PropertyType = " & SQLstr(sPropertyType)
If sSSizeI= "Meters2" Then
gsSQL = gsSQL & " AND SizeI => " & SQLstr(sSizeI)
'campo numerico
else
gsSQL = gsSQL & " AND SizeI => " & SQLstr(sSizeI*0.0929)
End If
If sSSizeE= "Meters2" Then
gsSQL = gsSQL & " AND SizeE => " & SQLstr(sSSizeE)
'campo numerico
else
gsSQL = gsSQL & " AND SizeE => " & SQLstr(sSSizeE*0.0929)
End if
gsSQL = gsSQL & " AND Bedrooms => " & SQLstr(sBedrooms)
gsSQL = gsSQL & " AND Baths => " & SQLstr(sBaths)
Select case sSSize
case "Meters2"
gsSQL = gsSQL & " AND Size => " & SQLstr(sSize/10000)
case "Acres"
gsSQL = gsSQL & " AND Size => " & SQLstr(sSize*0.4047)
case "Hectareas"
gsSQL = gsSQL & " AND Size => " & SQLstr(sSize)
case "Manzanas"
gsSQL = gsSQL & " AND Size => " & SQLstr(sSize*0.7050)
End select
If sSStartBid="Dollars" then
gsSQL = gsSQL & " AND StartingBid <= " & SQLValue(iStartBid)
Else
gsSQL = gsSQL & " AND StartingBid <= " & SQLValue(iStartBid/Money)
End if
gsSQL = gsSQL & " And Ended = false"
gsSQL = gsSQL & " ORDER BY pay= true"

Me da este error

Microsoft VBScript runtime error '800a000d'

Type mismatch: 'SQLValue'


Alguna Sugerencia? :( :(
  #2 (permalink)  
Antiguo 28/04/2002, 20:50
 
Fecha de Ingreso: enero-2002
Mensajes: 50
Antigüedad: 22 años, 4 meses
Puntos: 0
Re: Ven error en este script?

Pues yo aunke no soi ningun experto diria ke es porke te faltan las comillas simples
ej..
el original
gsSQL = ""
gsSQL = gsSQL & "SELECT * FROM Auctions WHERE CategoryID = " & SQLVal(iCatID) & " "
el modificado
gsSQL = ""
gsSQL = gsSQL & "SELECT * FROM Auctions WHERE CategoryID = '" & SQLVal(iCatID) & " '"

Simplemente ponle las comillas simples al lao de cada valor
:)
  #3 (permalink)  
Antiguo 29/04/2002, 05:00
 
Fecha de Ingreso: abril-2002
Mensajes: 438
Antigüedad: 22 años, 1 mes
Puntos: 2
Re: Ven error en este script?

En Access que es con la BBDD que trabajo yo, en los campos numéricos no hace falta las comillas, sólo en los de tipo texto. Así que yo diría que el problema no está en categoryID que posiblemente sea Autonumérico (aunque no lo comentas), pero desde luego sí que puede fallarte esos que son city y province (tipo texto seguro), así que ponles unas comillas simples ' ' envolviendo el valor de la variable.

Es un consejo ******, pero lo que suelo hacer yo es un response.write de la cadena SQL que quiero ejecutar justo antes de ejecutarla y así la veo enterita como queda en pantalla, y así repaso bien las comillas, los # y todos esos malos rollos que sólo sirven pa putearnos un poco. Te evitas luego sorpresas desagradables de actalizaciones que no deberías haber llevado a cabo, borrados que no se pueden echar para atrás, y la madre que los parió a todos, etc...

Un saludo.
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 13:09.