0

ClassLibraryプロジェクトから作成されたDLLファイルからDataTableを返したい。では、DataTableを返すコードを含むDLLファイルからDataTableを返すことは可能ですか?また、これをasp.netWebサイトで使用したいと思います。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;
    }
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を返すことができます。これは、他の開発者がデータレイヤーをビジネスレイヤーから分離するために行うことです。

3層アーキテクチャ/MVCなどのいくつかを読むことをお勧めします

于 2012-05-04T09:25:33.583 に答える