Los Foros de ASPTutor.com
Home | Perfil | Registrarse | Temas Activos | Miembros | Buscar | FAQ
Usuario:
Password:
 Todos los Foros
 ASP
 problemas convert(int, ='"&problem&"'")" SQL
 Foro Bloqueado  Tema Bloqueado


Autor Temas
dariom
New Member

Argentina
53 Posts
Mensajes - 12 Jun 2002 :  23:29:13  Ver Perfil  Enviar Email
sql = " SELECT SW_TICKET.swTicketId, SW_PERSON.swLastName, SW_PERSON.swEmailAddress, SW_PERSON.swOfficePhoneExt, SW_PERSON.swOfficePhoneExt, SW_HD_CASE.swSubject, SW_HD_CASE.swNote, SW_HD_CASE.swStatus, SW_HD_CASE.swReceivedVia, SW_HD_CASE.swSpecialtyType, SW_HD_CASE.swProblemArea, SW_PERSON.swFirstName, SW_HD_CASE.swDateCreated, SW_HD_CASE.swCreatedBy ,sw_hD_CASE.swHDCaseId FROM ((SW_HD_CASE INNER JOIN SW_PERSON ON SW_HD_CASE.swReportedBy = SW_PERSON.swPersonId) INNER JOIN SW_SPECIALIST ON SW_HD_CASE.swAssignedTo = SW_SPECIALIST.swSpecialistId) INNER JOIN SW_TICKET ON SW_HD_CASE.swHDCaseId = SW_TICKET.swHDCaseId WHERE SW_HD_CASE.swHDCaseId = convert(int, ='"&problem&"'")"

Saber como usar una funcion convert en SQL cuando el tipo de dato es varchar y tuve que pasar a int
ahora cuando intento ejecutar el SQL me da el error siguiente.

Expected end of statement

/Vantive/newproblem.asp, line 29

sql = " SELECT SW_TICKET.swTicketId, SW_PERSON.swLastName, SW_PERSON.swEmailAddress, SW_PERSON.swOfficePhoneExt, SW_PERSON.swOfficePhoneExt, SW_HD_CASE.swSubject, SW_HD_CASE.swNote, SW_HD_CASE.swStatus, SW_HD_CASE.swReceivedVia, SW_HD_CASE.swSpecialtyType, SW_HD_CASE.swProblemArea, SW_PERSON.swFirstName, SW_HD_CASE.swDateCreated, SW_HD_CASE.swCreatedBy ,sw_hD_CASE.swHDCaseId FROM ((SW_HD_CASE INNER JOIN SW_PERSON ON SW_HD_CASE.swReportedBy = SW_PERSON.swPersonId) INNER JOIN SW_SPECIALIST ON SW_HD_CASE.swAssignedTo = SW_SPECIALIST.swSpecialistId) INNER JOIN SW_TICKET ON SW_HD_CASE.swHDCaseId = SW_TICKET.swHDCaseId WHERE SW_HD_CASE.swHDCaseId = convert(int, ='"&problem&"'")"

El tema seguro le estoy errando a las comillas, pero no encuentro la vuelta como colocar bien la variable con las comillas y cerrar el sql como es debido

ALGUIEN puede darme una mano

Gracias A TODOS!!!!!!!!

dos
Moderator

España
1575 Posts
Posted - 13 Jun 2002 :  10:28:09  Ver perfil  Enviar e-mail
un consejo, olvidate de usar funciones de sql si estas usando access. Es mejor que conviertras POR CODIGO tu variable al tipo que necesitas.
Ve a la base de datos y mi si SW_HD_CASE.swHDCaseId es de tipo texto o tipo numérico. Cuando sepas antes de tu comando SQL comprueba si tu variable es correcta usando por ejemplo la función "IsNumeric(variable)" que devuelve True si es un número y False si no lo es. y asi sucesivamente hasta que sepas que tienes y que no tienes.

Inicio Pagina

buho_nero
Moderator

España
1316 Posts
Posted - 13 Jun 2002 :  11:22:57  Ver perfil  Enviar e-mail
En serio, no te entiendo.
Si el campo "swHDCaseId" es numérico, estás en el caso más sencillo.

recoges la variable:
problem = request("problem")

cambias el tipo:
problem = cint(problem)

y la metes en la consulta:
" ...WHERE SW_HD_CASE.swHDCaseId = " & problem

Inicio Pagina

dariom
New Member

Argentina
53 Posts
Posted - 13 Jun 2002 :  15:18:54  Ver perfil  Enviar e-mail
buho_nero

el tema es que cuando coloco exactamente lo que me pasas

problem = request("problem")
problem = cint(problem)

me sale el siguiente error
Microsoft VBScript runtime error '800a000d'

Type mismatch: 'cint'

/Vantive/newproblem.asp, line 10
por lo que creo que hay algo mal en la sentencia.

podrias pasarme la correcta para probar?
Y Para dos no es acces, es SQL. el servidor que contiene las bases/


Inicio Pagina

dos
Moderator

España
1575 Posts
Posted - 13 Jun 2002 :  15:57:20  Ver perfil  Enviar e-mail
supongo que te refieres a SQL Server, porque access admite sentencias SQL.
El campo es tipo numérico o tipo texto??

Suponiendo que es tipo numérico debes poner esto

problemas = Cint(problem)

sql = " SELECT SW_TICKET.swTicketId, SW_PERSON.swLastName, SW_PERSON.swEmailAddress, SW_PERSON.swOfficePhoneExt, SW_PERSON.swOfficePhoneExt, SW_HD_CASE.swSubject, SW_HD_CASE.swNote, SW_HD_CASE.swStatus, SW_HD_CASE.swReceivedVia, SW_HD_CASE.swSpecialtyType, SW_HD_CASE.swProblemArea, SW_PERSON.swFirstName, SW_HD_CASE.swDateCreated, SW_HD_CASE.swCreatedBy ,sw_hD_CASE.swHDCaseId FROM ((SW_HD_CASE INNER JOIN SW_PERSON ON SW_HD_CASE.swReportedBy = SW_PERSON.swPersonId) INNER JOIN SW_SPECIALIST ON SW_HD_CASE.swAssignedTo = SW_SPECIALIST.swSpecialistId) INNER JOIN SW_TICKET ON SW_HD_CASE.swHDCaseId = SW_TICKET.swHDCaseId WHERE SW_HD_CASE.swHDCaseId = convert(int, ="&problem&")"

al loro con las comillas simples y con la comilla doble que tenias de mas.

Inicio Pagina

dariom
New Member

Argentina
53 Posts
Posted - 13 Jun 2002 :  16:02:08  Ver perfil  Enviar e-mail
DOS, coloque tal cual como decis vos y me sigue dando el error en la linea del cint
Microsoft VBScript runtime error '800a000d'

Type mismatch: 'Cint'
aparte de error en el SQL
UNA COSA MAS,,,,

DESCUBRI QUE EL SQL HAY UN SIGNO = DE MAS el mismo es
convert(int,"&problem&")" y no
convert(int,= "&problem&")" como esta en el sql original pero sigo teniendo problemas con el error de cint y e l;as comillas de sql.

Por favor denme una mano.

AGRADEZCO ENORMEMENTE SU AYUDA


Y Tengo la plene seguridad que el tipo de dato es NUMERICO

Line 1: Incorrect syntax near '='.

/Vantive/newproblem.asp, line 33

/Vantive/newproblem.asp, line 9

no que porque, ese error.

Edited by - dariom on 13 Jun 2002 16:04:19

Edited by - dariom on 13 Jun 2002 16:05:22

Edited by - dariom on 13 Jun 2002 16:08:56Inicio Pagina

buho_nero
Moderator

España
1316 Posts
Posted - 13 Jun 2002 :  18:23:43  Ver perfil  Enviar e-mail
Por mis muertos que la función "cint" es correcta.

Un concepto.
¿Estás seguro que problem no es cadena vacía?

Prueba:
if problem = "" then
problem = cint(problem)
else
problem = 2 'un valor por defecto
end if

Inicio Pagina

dariom
New Member

Argentina
53 Posts
Posted - 13 Jun 2002 :  19:29:39  Ver perfil  Enviar e-mail
Creo haber encontrado el problema
pero no se como solucionarlo
lo que esta mandando de la pagina es
Type mismatch: '[string: "461643) </td><td bgc"]'


NUEVO ahora logre pasar la variable bien y me da este error

Overflow: 'cint'

/Vantive/newproblem.asp, line 8

porque da overflow el cint???????
osea todo el resto salvo el nro esta mal que
href tengo del otro lado
<td bgcolor="#FFFFFF" width="226"><a href="newproblem.asp?problem=<%= rs("swHDCaseId")%>&nbsp;</td>

no se porque me esta mandando todo el resto lo que esta demas es
</td><td%20bgcolor=
en la variable... Problem

el href lo puse asi
<td bgcolor="#FFFFFF" width="226"><a href="newproblem.asp?problem=<%= rs("swHDCaseId")%>&nbsp;</td>

que es lo que esta mal?? porque no manda solo el registro.
en cambio manda el valor de SWHDCASEid mas todo los tag html???

donde le estoy errando por eso no funciona el cint y el sql tambien.
porque esta recibiendo basura!
como puedo solucionarlo?

Edited by - dariom on 13 Jun 2002 19:39:11Inicio Pagina

buho_nero
Moderator

España
1316 Posts
Posted - 13 Jun 2002 :  19:41:42  Ver perfil  Enviar e-mail
YO TE MATO

Siempre pasa lo mismo, cuanto más complicado parece el problema más simple es la respuesta.

Cerrar las comillas y el tag.
<td bgcolor="#FFFFFF" width="226"><a href="newproblem.asp?problem=<%= rs("swHDCaseId")%>">enlace</a>&nbsp;</td>

Inicio Pagina

dariom
New Member

Argentina
53 Posts
Posted - 13 Jun 2002 :  20:10:55  Ver perfil  Enviar e-mail
NO TAN SIMPLE EL TAG ANDA AHORA el cnit da

Microsoft VBScript runtime error '800a0006'

Overflow: 'cint'

/Vantive/newproblem.asp, line 8


Inicio Pagina

dos
Moderator

España
1575 Posts
Posted - 13 Jun 2002 :  20:38:48  Ver perfil  Enviar e-mail
esto es porque el tipo Cint tiene capacidad solo hasta 32727 (mmm, weno, mas o menos) y tu le estas pasando un valor superior, por eso te da el overflow.
En lugar de Cint usa Clng para convertirlo en un tipo long (con capacidad hasta de 2.147.483.647 positivos).

Joder, si que tienes registros para haber sobrepasado el nivel del tipo integer.

PD. asegurate que el campo de tu base de datos es tampobien del tipo long (o el que sea pero que soporte esa cantidad de registros)

Inicio Pagina

dariom
New Member

Argentina
53 Posts
Posted - 13 Jun 2002 :  20:52:49  Ver perfil  Enviar e-mail
no si le cambio el tipo vuelve a dar error el sql el mismo problema de convert

Error
Implicit conversion from datatype 'varchar' to 'numeric' is not allowed. Use the CONVERT function to run this query


el campo de la base de datos es Numeric de 15,5

Inicio Pagina

dariom
New Member

Argentina
53 Posts
Posted - 13 Jun 2002 :  22:14:52  Ver perfil  Enviar e-mail
ALELUYAAAAAAAAAAAA FUNCIONOOOOO
LES PASO EL CODIGO COMPLETO DE COMO LO HICE
OBVIAMENTE GRACIAS A USTEDES.
et conn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject
problem=request.querystring("problem")
problem = csng(problem)


sql = "SELECT SW_TICKET.swhdcaseid, SW_PERSON.swLastName, SW_PERSON.swEmailAddress, SW_PERSON.swOfficePhoneExt,SW_PERSON.swOfficePhoneExt, SW_HD_CASE.gmCustomer,SW_HD_CASE.swSubject, SW_HD_CASE.swNote,SW_HD_CASE.swStatus, SW_HD_CASE.swReceivedVia, SW_HD_CASE.swSpecialtyType, SW_HD_CASE.swProblemArea,SW_PERSON.swFirstName, SW_HD_CASE.swDateCreated, SW_HD_CASE.swCreatedBy ,sw_hD_CASE.swHDCaseId FROM SW_HD_CASE INNER JOIN SW_PERSON ON SW_HD_CASE.swReportedBy = SW_PERSON.swPersonId INNER JOIN SW_SPECIALIST ON SW_HD_CASE.swAssignedTo = SW_SPECIALIST.swSpecialistId INNER JOIN SW_TICKET ON SW_HD_CASE.swHDCaseId = SW_TICKET.swHDCaseId WHERE SW_TICKET.swhdcaseid = convert(int, "&problem&")"
Set rs = conn.Execute(SQL)

El error estaba pasando la variable bien, pero en el sql la convewrtia mal.

LES doy miles de gracias DOS Buo Nero.
Esto es un laburo que estoy haciendo y depende mucho de mi asenso, estuve sin laburo un año aca en argentina ahora tengo otra posibilidad.

No se de que pais son pero se merecen un regalo loco.

les paso mi direccion de mail
Dario.Marin@eds.com.ar pasenme las suyas
les comento soy programador de visual basic en realidad y de RPG si necesitan una mano o lo que sea me chiflan

GRACIAS otra veZ

Edited by - dariom on 13 Jun 2002 22:43:54Inicio Pagina

   
 Foro Bloqueado  Tema Bloqueado
Ir a:
Los Foros de ASPTutor.com Los Foros de ASPTutor.com
Ir al principio de la Página

 Imprimir Tema
 

Descargas de manuales¦ Ejemplos de código ¦ Artículos mas visitados ¦ Envía tu articulo ¦ Foros ¦
  Libro de visitas ¦Crea un enlace con ASPTutor 
 

    © 2001-Hasta hoy  Pedro Rufo Martín  contactar