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

No coinciden los tipos: 'cint' dll

Estas en el tema de No coinciden los tipos: 'cint' dll en el foro de ASP Clásico en Foros del Web. tengo un problema con mi codigo en la dll. Usando el primer método, osea sin dll la operación sql se realiza correctamente: idencuesta = Request.QueryString("Idencuesta") ...
  #1 (permalink)  
Antiguo 18/12/2002, 22:46
 
Fecha de Ingreso: septiembre-2002
Mensajes: 39
Antigüedad: 22 años, 8 meses
Puntos: 0
No coinciden los tipos: 'cint' dll

tengo un problema con mi codigo en la dll. Usando el primer método, osea sin dll la operación sql se realiza correctamente:

idencuesta = Request.QueryString("Idencuesta")
if request.form("opcion")<>"" then

select case true

case request.form("opcion")=0
campo=("r1")
case request.form("opcion")=1
campo=("r2")
case request.form("opcion")=2
campo=("r3")
case request.form("opcion")=3
campo=("r4")
end select


set rs=createobject("ADODB.Recordset")
sqltxt= "update encuestas set "&campo&" = "&campo&"+1 where idencuesta= " & idencuesta & ""
rs.open sqltxt, oconn


De esta otra forma usando la dll me da un error:
No coinciden los tipos: 'objrecordsert.selectencuesta'


'CODIGO ASP:

idencuesta = Request.QueryString("Idencuesta")
if request.form("opcion")<>"" then

select case true

case request.form("opcion")=0
campo=("r1")
case request.form("opcion")=1
campo=("r2")
case request.form("opcion")=2
campo=("r3")
case request.form("opcion")=3
campo=("r4")
end select


Set objrecordsert = Server.CreateObject("conection.encuestasvotar")
set Rs2 = objrecordsert.selectencuesta(cstr(campo),cint(iden cuesta))


'CODIGO DLL:

Public Function selectencuesta(ByVal campo As Integer, ByVal queryIdencuesta As Integer) As Recordset

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


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

Set rs = CreateObject("ADODB.Recordset")
strsql = "update encuestas set " & campo & " = " & campo & "+1 where idencuesta= " & queryIdencuesta & ""


rs.Open strsql, ConnectionString, adLockPessimistic, adLockPessimistic
Set selectencuesta = rs

End Function




¿Por que se produce este error al usar la sentencia sql desde la DLL?

Los parametros que recogo son el Id de la encuesta
y el campo de la respuesta votada. Deberia sumar uno al valor actual del campo. Con el primer método no tengo problema pero con el segundo si.


Puede alguien ayudarme?
  #2 (permalink)  
Antiguo 18/12/2002, 22:50
 
Fecha de Ingreso: septiembre-2002
Mensajes: 39
Antigüedad: 22 años, 8 meses
Puntos: 0
NOTA

Si aprecias cuando llamoal objeto desde la ASP

Set objrecordsert = Server.CreateObject("conection.encuestasvotar")
set Rs = objrecordsert.selectencuesta(cstr(campo),cint(iden cuesta))

Utilizo cstr(campo) debido a que el nombre del campo es alfanumerico pero como sumar su contenido si es númerico?
  #3 (permalink)  
Antiguo 19/12/2002, 07:03
 
Fecha de Ingreso: junio-2002
Mensajes: 13
Antigüedad: 22 años, 10 meses
Puntos: 0
Public Function selectencuesta(ByVal campo As string, ByVal queryIdencuesta As Integer)

Dim ConnectionString As String
Dim strsql As String
Dim rs As Recordset
Dim dato as string


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

dato = Cstr(campo)

Set rs = CreateObject("ADODB.Recordset")
strsql = "update encuestas set " & campo & " = " & dato & "+1 where idencuesta= " & queryIdencuesta & ""


rs.Open strsql, ConnectionString, adLockPessimistic, adLockPessimistic
Set selectencuesta = rs

End Function
  #4 (permalink)  
Antiguo 19/12/2002, 14:25
 
Fecha de Ingreso: septiembre-2002
Mensajes: 39
Antigüedad: 22 años, 8 meses
Puntos: 0
De acuerdo Funciono

Ekilicuatre¡¡¡¡¡¡¡¡

funcionó
  #5 (permalink)  
Antiguo 19/12/2002, 14:31
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
demas po'h...

mas claro echarle agua.

una consulta..que haces cada vez que modificas tu dll?..

la registras de nuevo?
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 11:40.