自定义一个类用于查询数据显示在gridview里面,由于需要多次查询想写个公共的类来一起调用:public DataTable ReadCDType(表名, 字段,初值)
{
   sql = "select * from 表明 where 字段=初值";     
   return objCDMng.ExecuteDataSet(sql).Tables[0];
}请问一下这个思路是不是正确的,如果正确怎么写这段代码?请指教,多谢了!如果有更好的方法欢迎赐教!

解决方案 »

  1.   


    public DataTable ReadCDType(表名, 字段,初值)
    {
       sql = "select * from "+表明+" where "+字段+"='"+初值+"'";     
       return objCDMng.ExecuteDataSet(sql).Tables[0];
    }
    如上
      

  2.   

    这样的思路不好,原因是UI和业务逻辑层以及数据库层严重耦合在一起了,也就是如果数据库层发生了变动,那么每一层都要面临改动。
    你要使用DataTable也没关系,你可以考虑尽量降低每个层之间的耦合,尽量避免使用DataTable的列名。
      

  3.   

     //公有方法,根据Sql语句,返回一个结果数据集
            public DataSet GetDataSetSql(string XSqlString)
            {
                Open();
                SqlDataAdapter Adapter = new SqlDataAdapter(XSqlString, Connection);
                DataSet Ds = new DataSet();
                Adapter.Fill(Ds);
                Close();
                return Ds;
            }
      

  4.   

    不要通过方法传值,定义属性,通过属性传值。或用工厂类看看petshop