Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/12/2002, 22:46
Andr3s
 
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?