日期:2014-05-17  浏览次数:20404 次

初学者请教。三层 读取数据DataRow读取数据
----------------------DAL--------------------------
public static DataRow  GetProductRow(int ProductID)
        {
            StringBuilder sb = new StringBuilder();
            sb.Append("select * from Product where Product_ID=").Append(ProductID);
            return SqlHelper.ExecuteDataRow(DBConnection.Conn.ConnectionString, CommandType.Text, sb.ToString());
        }


----------------------BLL--------------------------
   public DataRow GetProductRow(int ProductID) 
       {
           return DAL.ProductDAL.GetProductRow(ProductID);
       }

----------------------后台绑定到Textox--------------------------
             int productId = 5;         
            DataRow dr = new DataRow(); 
            dr=new BLL.ProductBLL().GetProductRow(productId);
            sproduct_Name.Text = dr["product_Name"].ToString();
            scost_Price.Text=dr["cost_Price"].ToString();

不是这样绑定数据的吗? 为啥报错呢?

------解决方案--------------------
直接DataRow dr=new BLL.ProductBLL().GetProductRow(productId);
------解决方案--------------------
既然是初学者,你可以去DataRow 这个类里面去看一下他是不是有公共的的无参构造函数啊!
这也是一种学习方法,在自己不熟悉的类里面去看下他有哪些方法,都是干什么用的对熟悉这个类很有帮助的。
而且你既然用3层了我建议你用个model层,也就是所谓的面相对象的思维。什么都用对象来存取值。
------解决方案--------------------
或者 public static Product GetProduct(int ProductID)

public static  Iist<Product>  GetProducts(int[] ProductIDs)