1.aspx.cs
里面:        
    DataRow ShopDetail=UserAccess.GetShopDetail(int shopid);其中GetShopDetail 返回一个DataRow怎样 在 cs 里面判断 它不是空的 ,现在一旦为空 页面 就时 出错 信息 ,想避免这个。。   

解决方案 »

  1.   

    DataRow dr=****if (dr!=null)
    {
    不空
    }
    else
    {
    }
      

  2.   

    DataRow ShopDetail=UserAccess.GetShopDetail(int shopid);
    if ( ShopDetail == null)
    {
        return;
    }
    ...
    如果是DATAROW里的字段,
    判断如下:
       if ( ShopDetail[0] == Convert.DBNull)
       {
           return;
       }
      

  3.   

    if (dr!=null)
    还是 报错啊,There is no row at position 0. 
      

  4.   

    DataRow ShopDetail=UserAccess.GetShopDetail(int shopid);
    if ( ShopDetail == null)
    {
        return;
    }
    ...
    如果是DATAROW里的字段,
    判断如下:
       if ( ShopDetail[0] == Convert.DBNull)
       {
           return;
       }
    =================
      这个应该可以的!
      

  5.   

    可以用uniqueambrosini(鹰目骅道) 写的那个试试。
      

  6.   

    DataRow ShopDetail=UserAccess.GetShopDetail(int shopid);
    if ( ShopDetail == null)//为空
    {
        return;
    }
    else
    {}
      

  7.   

    if ShopDetail == null
        !=null  
    都是 报错啊,There is no row at position 0. 
      

  8.   

    _adapter = new SqlDataAdapter(_comm);
     _adapter.Fill(ShopDetail);你试试,办应该差不多了
      

  9.   

    错误是在你GetShopDetai()这个方法中报的你应该去修改你这个方法
      

  10.   

    public static DataRow GetShopInfo(int ShopId)  //
       {
         
         SqlConnection mycon=new SqlConnection(strConn);
         
         SqlCommand com=new SqlCommand("GetShopInfo",mycon);
         
         com.CommandType=CommandType.StoredProcedure;
         
         com.Parameters.Add("@Id",SqlDbType.Int).Value=ShopId;
              
         SqlDataAdapter ada= new SqlDataAdapter(com);
         
         DataSet ds=new DataSet("ds");
         
         mycon.Open();
         
         ada.Fill(ds);
         
         mycon.Close();
         
         return ds.Tables[0].Rows[0];
          
       }
      

  11.   

    错误是在你GetShopDetai()这个方法中报的你应该去修改你这个方法
    如果你用的是DataReader 
    应该先读这一行   dr.Read();
    然后返回得到的这一行就可以了
      

  12.   

    写了 代码了啊..  用的是datarow   那里有什么datareader
      

  13.   

    DataRow row = new DataRow();
    row = yourDataTable.Row[索引];
    string value = string.Empty;
    for(int i=0;i<row.Columns.Count;i++)
    {
      string temp=string.Empty;
      temp = row.Column[i].ToString();
      if(temp!=null&&temp!=string.Empty);
         value+=temp;
    }