我想从ClassLibrary Project创建的DLL文件返回一个DataTable。那么是否可以从DLL文件返回一个DataTable,其中包含返回DataTable的代码?而且我想在asp.net网站上使用它。 Plz给出任何建议......! EG:
public DataTable getData()
{
DataTable dt=new DataTable("Test");
SqlCommand cmd=new SqlCommand();
SqlDataAdapter da=new SqlDataAdapter();
using(SqlConnection con=new SqlConnection(ConfigurationManager.ConnectionStrings["EMP"].ConnectionString))
{
da.SelectCommand = con.CreateCommand();
da.SelectCommand.CommandType = CommandType.Text;
da.SelectCommand.CommandText = "Select *from EMP";
da.SelectCommand.Connection = con;
try
{
con.Open();
da.Fill(dt);
con.Close();
}
catch (Exception ec)
{
}
finally
{
con.Close();
}
}
return dt;
}
答案 0 :(得分:1)
是的,可以返回Datatable。你在做什么是正确的。确保提供连接字符串值
ConfigurationManager.ConnectionStrings["EMP"].ConnectionString
如何在dll中。
您可以提供getData参数
public DataTable getData(string constr)
{
//// Your code
using(SqlConnection con=new SqlConnection(constr))
{
///// Your code
}
答案 1 :(得分:1)
当然可以。您必须在ClassLibrary项目中创建一个类,然后从ASP.NET项目中引用项目或DLL,创建该类的实例并调用该方法。
ClassLibrary项目中的课程可能是这样的:
namespace Data
{
public class MyDataProvider {
public DataTable GetData()
{
// Your method code here
}
}
}
您应该使用ASP.NET项目中的代码:
// Create provider
Data.MyDataProvider provider = new Data.MyDataProvider();
// Get data
DataTable table = provider.GetData();
// Do stuff with your data...
答案 2 :(得分:0)
绝对是的。您可以从dll返回数据集/数据表。这就是其他开发人员为将数据层与业务层分离所做的事情。
我建议你阅读三层架构/ mvc等的一些东西