0

我想从 ClassLibrary Project 创建的 DLL 文件中返回一个 DataTable。那么是否可以从包含返回 DataTable 的代码的 DLL 文件中返回一个 DataTable?我也想在 asp.net 网站上使用它。请给任何建议...!例如:

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;
    }
4

3 回答 3

1

是的,可以返回 Datatable。你在做什么是正确的。确保您提供的连接字符串值为

ConfigurationManager.ConnectionStrings["EMP"].ConnectionString

一些如何在 dll 中。

您可以提供 getData 的参数

public DataTable getData(string constr)
{
   //// Your code

   using(SqlConnection con=new SqlConnection(constr))
   { 
   ///// Your code
}
于 2012-05-04T09:28:08.557 回答
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...
于 2012-05-04T09:28:14.393 回答
0

是的,一点没错。您可以从 dll 返回数据集 /datatable。事实上,这就是其他开发人员将数据层与业务层分离的做法。

我建议你阅读一些三层架构/ mvc 等的东西

于 2012-05-04T09:25:33.583 回答