我正在尝试为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
答案 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,但此刻我只是在做实验。
致谢