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

propiedad no válida: 'cint'

Estas en el tema de propiedad no válida: 'cint' en el foro de ASP Clásico en Foros del Web. Tengo otro pequeño engrollo en este código asp: Sub AddToOrder(nOrderID, nProductID, nQuant) sqlText = "INSERT INTO itemsordenes " _ & " (orderID, productID, cantidad) values ...
  #1 (permalink)  
Antiguo 17/12/2002, 14:56
 
Fecha de Ingreso: septiembre-2002
Mensajes: 39
Antigüedad: 22 años, 8 meses
Puntos: 0
propiedad no válida: 'cint'

Tengo otro pequeño engrollo en este código asp:

Sub AddToOrder(nOrderID, nProductID, nQuant)

sqlText = "INSERT INTO itemsordenes " _
& " (orderID, productID, cantidad) values " _
& " ("&nOrderID&", "&nProductID&", "&nQuant&")"
oConn.Execute(sqlText)

End Sub

de esta manera todo funciona correctamente pero al cambiar la sentencia SQL con el uso de una dll asi:

Sub AddToOrder(nOrderID, nProductID, nQuant)

Set dnfobjeto = Server.CreateObject("conection.anadircaraorden")
set Application = dnfobjeto.selectanadircaraorden(cint(nOrderID, nProductID, nQuant))

End Sub

Me devuelve el siguiente error:

Número de argumentos erróneo o asignación de propiedad no válida: 'cint'


El codigo de la clase de la dll es el siguiente:

Public Function selectanadircaraorden(ByVal nOrderID As Integer, ByVal nProductID As Integer, ByVal nQuant As Integer) As Recordset

Dim ConnectionString As String
Dim strsql As String
Dim rs As Recordset


ConnectionString = "Driver={SQL Server};Description=***;SERVER=***;UID=***;PWD=*** ;DATABASE=***"

Set rs = CreateObject("ADODB.Recordset")

strsql = "INSERT INTO itemsordenes(orderID, productID, cantidad) values (" & nOrderID & " , " & nProductID & ", " & nQuant & ")"


rs.Open strsql, adOpenDynamic, adLockOptimistic, admdTableDirect

Set selectanadircaraorden = rs

End Function



Donde estoy cometiendo el error?
  #2 (permalink)  
Antiguo 17/12/2002, 15:07
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 23 años, 5 meses
Puntos: 0
el cint trabaja sobre un valor, no sobre un conjunto de ellos....ocupalo por separado

set Application = dnfobjeto.selectanadircaraorden(cint(nOrderID), cint(nProductID), cint(nQuant))
  #3 (permalink)  
Antiguo 17/12/2002, 15:27
 
Fecha de Ingreso: septiembre-2002
Mensajes: 39
Antigüedad: 22 años, 8 meses
Puntos: 0
Entendi pero...

Inserto los valores separados. Haciandolo de la primera forma sigue realizandose bien el proceso:

Sub AddToOrder(nOrderID, nProductID, nQuant)

sqlText = "INSERT INTO itemsordenes " _
& " (orderID, productID, cantidad) values " _
& " ("&nOrderID&", "&nProductID&", "&nQuant&")"
oConn.Execute(sqlText)

End Sub

Ahora lo hago a través del objeto creado y la dll:

Sub AddToOrder(nOrderID, nProductID, nQuant)

Set dnfobjeto = Server.CreateObject("conection.anadircaraorden")
set Application = dnfobjeto.selectanadircaraorden(cint(nOrderID), cint(nProductID), cint(nQuant))

End Sub

me devuelve el error:

Tipo de error:
ADODB.Recordset (0x800A0BB9)
Argumentos incorrectos, fuera del intervalo permitido o en conflicto con otros.

en la linea

set Application = dnfobjeto.selectanadircaraorden(cint(nOrderID), cint(nProductID), cint(nQuant))

El código completo es el siguiente pero el primer sub lo procesa correrrectamente:


Sub CreateNewOrder()
Application.lock
if Application("orderID") = "" then
Application("orderID") = 1
end if

intOrderID = Application("orderID")
Session("orderID") = intOrderID

Set infobjeto = Server.CreateObject("conection.anadircarritordenes ")
set Application = infobjeto.selectanadircarritorden(cint(intOrderID) )

Application("orderID") = Application("orderID") + 1
Application.Unlock


End Sub

Sub AddToOrder(nOrderID, nProductID, nQuant)

Set dnfobjeto = Server.CreateObject("conection.anadircaraorden")
set Application() = dnfobjeto.selectanadircaraorden(cint(nOrderID), cint(nProductID), cint(nQuant))


End Sub
  #4 (permalink)  
Antiguo 17/12/2002, 15:55
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 23 años, 5 meses
Puntos: 0
raro esta eso..

hace dos pruebas

ingresa valores constantes...

set Application = dnfobjeto.selectanadircaraorden("1","2", "3")

y ve que sucede.

2. hay una magia que puedes hacer...y eso es....debuggear tu componente...

-basta con cerrar tu browser (pagina)...
-abrir tu proyecto
-hacer un break en el procedimiento que llamas desde asp
-presionar F5 (y quedara corriendo)
-abre tu browser, ejecuta tu pagina...y solo se marcará la funcion que invoco...

ahi con f8 puedes tracear tu dll y ver por que y donde se cae.

suerte
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 18:16.