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?