新手学习.NET不久,学习过程中经常遇到对数据库进行的操作,所以想写一个类,该类含有以下方法:
将“数据库连接字符串”和“表名”作为参数传入,返回一个DataTable对象。
不知道这样的类能不能实现,请各位高手帮小弟支支招!

解决方案 »

  1.   

    可以,public DataTable FillDataTable(string conStr,string srcTableName)用数据适配器的Fill方法,不难的,自己写一下吧。
      

  2.   

    不过用表名做为参数传入不符合实际需求,应该用sql语句做为参数,这样通用。
      

  3.   

    namespace Zpower
    {
        public class DbSuid
        {
            public DataTable readDt(string conStr, string sqlStr)
            {
                string connStr = null;
                string sqlconnStr;            sqlconnStr = ConfigurationManager.ConnectionStrings[connStr].ConnectionString;
                SqlConnection sqlConn = new SqlConnection(sqlconnStr);
                DataSet ds = new DataSet();
                DataTable dt = new DataTable();
                sqlConn.Open();
                SqlDataAdapter sqld = new SqlDataAdapter(sqlStr, sqlConn);
                sqld.Fill(ds, "tabTemp");
                dt = ds.Tables["tabTemp"];
                sqlConn.Close();
                sqlConn = null;
                return dt;
            }
        }
    }
    -------------------------------------------------------------------------------------
    //using Zpower;DbSuid dbsuid = new DbSuid();
    DataTable dt = new DataTable();
    dt = dbsuid.readDt("Connection","select * from yonghu");写了一段,但是在引用的时候报错:错误 CS0236: 字段初始值设定项无法引用非静态字段、方法或属性“test02.dbsuid”
      

  4.   

    你试着把test02.dbsuid变成静态的吧 就是 public DataTable readDt(string conStr, string sqlStr)
    改成 public static DataTable readDt(string conStr, string sqlStr)