DataTable dr = user.GetSingleUser(nUserID);
        if (dr.)
        {
            BPName.Text = dr["BPName"].ToString();
            showname.Text = dr["ShowName"].ToString();
这个的意思是调用一个接口的一个方法,然后在if(dr)这里,原本要用的是if(dr.read())但是在DataTable中,是没有dr.Read()的,请问这里要怎么写

解决方案 »

  1.   

    判断是否空 ,你可以试试
    !=null
      

  2.   


    if(dr!=null && dr.rows.count>0)
      

  3.   

    你不读取
                BPName.Text = dr["BPName"].ToString(); 
                showname.Text = dr["ShowName"].ToString();
    这里怎么赋值?用DATASET
      

  4.   


    if(dr!=null && dr.rows.count>0)
    {
    for(int i = 0;i < dr.Rows.Count;i++)
    {
     BPName.Text = dr.Rows[i]["BPName"].ToString(); 
                showname.Text = dr.Rows[i]["ShowName"].ToString(); 
    }
    }
      

  5.   

    我下面是要赋值给各个文字栏,请问,用Datatable的方法
    if(dr)这里要怎么写,下面要怎么写?
    如果用if(dr != null)
    那下面的语句会有提示
    无法将带 [] 的索引应用于“System.Data.DataTable”类型的表达式
      

  6.   

    回复fflyn,不行,我试过了,虽然不会报错,但是值不会赋到文本框里面去,继续测试中,
      

  7.   

    找到原因了,我用的接口是interface的,然后类里面用的datatable定义的
    但我现在页面内用的是下面这段代码,读取不到指定的值,我的类用datatable定义,那这里要怎么写才会得到相应的值呢?//获取参数nUserID的值
            if (Request.Params["Uid"] != null)
            {
                if (Int32.TryParse(Request.Params["Uid"].ToString(), out nUserID) == false)
                { return; }
            }
            if (!Page.IsPostBack)
            {
                if (nUserID > -1)
                {
                    BindUserData(nUserID);
                }
                else
                {
                    UpdateBtn.Enabled = false;
                }