----------------------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();不是这样绑定数据的吗? 为啥报错呢?

解决方案 »

  1.   

    DataRow dr = dt.NewRow();
      

  2.   

    直接DataRow dr=new BLL.ProductBLL().GetProductRow(productId);
      

  3.   

    既然是初学者,你可以去DataRow 这个类里面去看一下他是不是有公共的的无参构造函数啊!
    这也是一种学习方法,在自己不熟悉的类里面去看下他有哪些方法,都是干什么用的对熟悉这个类很有帮助的。
    而且你既然用3层了我建议你用个model层,也就是所谓的面相对象的思维。什么都用对象来存取值。
      

  4.   

    直接返回Table吧··public static DataTable  GetProduct(int ProductID)
      

  5.   

    或者 public static Product GetProduct(int ProductID)public static  Iist<Product>  GetProducts(int[] ProductIDs)
      

  6.   

    可能是查询结果是空了 别用ToString()  用Convert.ToString(要转换的)
      

  7.   

    问题就出在dr["product_Name"]这里,你看看字段是否对应