C#DLL-使用DataTable返回数据

时间:2019-07-18 12:34:59

标签: c# dll datatable return

我正在尝试为dll文件创建一些代码,以使用DataTable返回从SQL数据库调用的数据。

我当前的问题是,使用下面的代码,我收到错误消息“名称空间不能直接包含诸如字段和方法之类的成员。”

public DataTable getData(string cmdText)
        {
            DataTable dt = new DataTable("Test");
            SqlCommand cmd = new SqlCommand();
            SqlDataAdapter da = new SqlDataAdapter();
            using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["LIVE"].ConnectionString))
            {
                da.SelectCommand = con.CreateCommand();
                da.SelectCommand.CommandType = CommandType.Text;
                da.SelectCommand.CommandText = cmdText;
                da.SelectCommand.Connection = con;
                try
                {
                    con.Open();
                    da.Fill(dt);
                    con.Close();
                }
                catch (Exception ec)
                {

                }
                finally
                {

                    con.Close();
                }

            }
            return dt;
        }

有人有什么建议或可以帮忙吗?

非常感谢,

G

2 个答案:

答案 0 :(得分:0)

您需要在名称空间中包含一个类,例如,这可以解决您的错误:

namespace MyDll
{
    public static class Data
    {

        public static DataTable Get(string cmdText)
        {
            DataTable dt = new DataTable("Test");
            SqlCommand cmd = new SqlCommand();
            SqlDataAdapter da = new SqlDataAdapter();
            using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["LIVE"].ConnectionString))
            {
                da.SelectCommand = con.CreateCommand();
                da.SelectCommand.CommandType = CommandType.Text;
                da.SelectCommand.CommandText = cmdText;
                da.SelectCommand.Connection = con;
                try
                {
                    con.Open();
                    da.Fill(dt);
                    con.Close();
                }
                catch (Exception ec)
                {

                }
                finally
                {

                    con.Close();
                }

            }
            return dt;
        }

    }


}

答案 1 :(得分:0)

这是我目前的代码:

namespace TestLibrary1
{
    public static class DataBaseDll
    {
        public DataTable GetData(string cmdText)
        {
            DataTable dt = new DataTable("Test");
            SqlCommand cmd = new SqlCommand();
            SqlDataAdapter da = new SqlDataAdapter();
            using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["LIVE"].ConnectionString))
            {
                da.SelectCommand = con.CreateCommand();
                da.SelectCommand.CommandType = CommandType.Text;
                da.SelectCommand.CommandText = cmdText;
                da.SelectCommand.Connection = con;
                try
                {
                    con.Open();
                    da.Fill(dt);
                    con.Close();
                }
                catch (Exception ec)
                {

                }
                finally
                {
                    con.Close();
                }

            }
            return dt;
        }
    }
}

抛出的错误消息:针对Public静态类GetData'无法在静态类中声明实例成员。

通常,我宁愿使用DataSet而不是DataTable,但此刻我只是在做实验。

致谢