繁体   English   中英

我们可以从具有ClassLibrary项目的DLL文件返回DataTable吗?

[英]Can we return a DataTable from DLL file having ClassLibrary Project?

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

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

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

ConfigurationManager.ConnectionStrings["EMP"].ConnectionString

一些如何在DLL中。

您可以提供getData的参数

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

   using(SqlConnection con=new SqlConnection(constr))
   { 
   ///// Your code
}

你当然可以。 您必须在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...

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM