Criei uma DLL C# e fiz as configurações necessárias para ficar visivel no registro de componentes e poder ser consumida pelo ASP clássico...
Criei 3 métodos nessa DLL:
public int Calculo(int a, int b)
public string strMensagem(string texto)
public DataSet RetornaDados(string strSql)
No 1º meto faz um cálculo e retorna o valor, no 2º somente retorna a string passada e no terceiro preciso que retorne uma consulta na base de dados.
To tentando fazer o retorno no ASP assim:
Set Listar = CreateObject("dllok.ComPlusClass")
Set Listar1 = Listar.RetornaDados("SELECT TOP 50 NomClasseCertif ,Sig_Oc FROM classe_c WHERE Sig_Oc is not null")
E faço o loop
Do While not Listar1.EOF
Response.Write Listar1("NomClasseCertif")
Listar1.MoveNext
Loop
Erro:
Erro de tempo de execução do Microsoft VBScript (0x800A01A8)
Objeto necessário
/teste.asp, line 31
Linha 31: Do While not Listar1.EOF
É como se não criasse o objeto.
alguém da uma ajuda aí?
Obrigado
O código da minha DLL
using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
using System.EnterpriseServices;
using System.Data;
using System.Data.SqlClient;
using System.Data.OleDb;
[assembly: ApplicationName("_DLLTeste")]
[assembly: Description("ComPlus Assmebly")]
[assembly: ApplicationActivation(ActivationOption.Server)]
[assembly: ApplicationAccessControl(false)]
namespace dllok
{
#region iInterface
public interface iCldllok
{
int Calculo(int a, int b);
string strMensagem(string texto);
DataSet RetornaDados(string strSql);
}
#endregion
[EventTrackingEnabled(true)]
public class ComPlusClass : ServicedComponent, iCldllok
{
//private string connectionString = "Data Source=RDES01S;Initial Catalog=PRODUTOS_RWEB;User Id=MIMONTREAL;Password=MIDESENV;";
private string connectionString = "Provider=SQLOLEDB;Data Source=RDES01S;Initial Catalog=PRODUTOS_RWEB;User Id=mimontreal;Password=midesenv;";
public int Calculo(int a, int b)
{
try
{
return a * b;
}
catch
{
return 0;
}
}
public string strMensagem(string texto)
{
return texto;
}
public DataSet RetornaDados(string strSql)
{
OleDbConnection conn = new OleDbConnection(connectionString);
OleDbDataAdapter adp = new OleDbDataAdapter(strSql, conn);
DataSet ds = new DataSet();
adp.Fill(ds);
conn.Close();
return ds;
}
}
}
Question
Marcos-rj
Boa tarde amigos!
Criei uma DLL C# e fiz as configurações necessárias para ficar visivel no registro de componentes e poder ser consumida pelo ASP clássico...
Criei 3 métodos nessa DLL:
No 1º meto faz um cálculo e retorna o valor, no 2º somente retorna a string passada e no terceiro preciso que retorne uma consulta na base de dados. To tentando fazer o retorno no ASP assim: E faço o loop Erro: Linha 31: Do While not Listar1.EOF É como se não criasse o objeto. alguém da uma ajuda aí? Obrigado O código da minha DLLLink to comment
Share on other sites
5 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.