for  (int  i=0;i<=(int)dataset.Tables["PO_STORE"].Rows.Count-1;i++)  
{                          
strCommand1="select  ISNULL(sum(PO_QTY),0)  as  QTY  from  PO_STORE  where  type='"+i+"'  and.....                          
SqlDataAdapter  objCmd1=new  SqlDataAdapter(strCommand1,objCon);  
objCmd1.Fill(dataset1,"PO_STORE");  
 
srow[0]=Convert.ToString(dataset1.Tables["PO_STORE"].Rows[i]["QTY"]);  
 
}  
請問各位大蝦,我該咋完善才能循環得到srow[0]的值呢?

解决方案 »

  1.   

    srow[0]=Convert.ToString(dataset1.Tables["PO_STORE"].Rows[i]["QTY"])+"'";  
    string[] result = stow[0].split(',');result存的是你要的;
      

  2.   

    如:int i = Convert.ToInt32(result[0])//
      

  3.   

    strCommand1="select  ISNULL(sum(PO_QTY),0)  as  QTY  from  PO_STORE  where  type='"+i+"'  and.....                          SqlCommand cmd = new SqlCommand(strCommand1);
    Decimal qty = Convert.ToDecimal(cmd.ExecuteScalar());
      

  4.   

    不行啊,dataset1有可能沒有紀錄啊,它會報錯的
      

  5.   

    最關鍵的問題是,dataset1不是在循環中一直有值得。
      

  6.   

    for  (int  i=0;i<=(int)dataset.Tables["PO_STORE"].Rows.Count-1;i++)  
    {                          
    strCommand1="select  ISNULL(sum(PO_QTY),0)  as  QTY  from  PO_STORE  where  type='"+i+"'  and.....                          
    SqlDataAdapter  objCmd1=new  SqlDataAdapter(strCommand1,objCon);  
    objCmd1.Fill(dataset1,"PO_STORE");  
      for(int j=i;j<=dataset1.tables["PO_STORE"].rows.count-1;j++)
      {
        srow[0]=Convert.ToString(dataset1.Tables["PO_STORE"].Rows[j]["QTY"]);  
      }
    }  你的dataset1和dataset是两个不相同的是吗?
      

  7.   

    你的dataset1和dataset是两个不相同的是吗?是的
      

  8.   

    for  (int  i=0;i<=(int)dataset.Tables["PO_STORE"].Rows.Count-1;i++)  
    {                          
    strCommand1="select  ISNULL(sum(PO_QTY),0)  as  QTY  from  PO_STORE  where  type='"+i+"'  and.....                          
    SqlDataAdapter  objCmd1=new  SqlDataAdapter(strCommand1,objCon);  
    objCmd1.Fill(dataset1,"PO_STORE");  
      for(int j=i;j<=dataset1.tables["PO_STORE"].rows.count-1;j++)
      {
        srow[0]=Convert.ToString(dataset1.Tables["PO_STORE"].Rows[j]["QTY"]);  
      }
    }  strCommand1="select  ISNULL(sum(PO_QTY),0)  as  QTY  from  PO_STORE  where  type='"+i+"'  and.....
    只有單一的資料,不是嵌套的循環
      

  9.   

    '/Webx' 應用程式中發生伺服器錯誤。
    --------------------------------------------------------------------------------位置 0 沒有資料列。 
    描述: 在執行目前 Web 要求的過程中發生未處理的例外情形。請檢閱堆疊追蹤以取得錯誤的詳細資訊,以及在程式碼中產生的位置。 例外詳細資訊: System.IndexOutOfRangeException: 位置 0 沒有資料列。原始程式錯誤: 
    行 107://
    if (objDataReader.Read()==true && objDataReader.IsDBNull(0)!=true)
    行 108://
             {
    行 109:
    srow[0]=Convert.ToString(dataset1.Tables["PO_STORE"].Rows[i]["QTY"]);
             -------------------------------------------------------------------
             就是它行 110://
    }
    行 111://
    else
     
      

  10.   

    把你的srow[0]变成为DataRow srow不行吗?这样你就可以从srow中取得不同的值了,想循环取值当然用数组了,然后再用
    foreach(DataRow srow in dataset1.Tables["PO_STORE"].Rows) 
    {
         srow=Convert.ToString(dataset1.Tables["PO_STORE"].Rows[i]["QTY"]);  
    }
    把这个嵌入你以前的循环应该没问题了吧
      

  11.   

    srow[0]=srow[0]+Convert.ToString(dataset1.Tables["PO_STORE"].Rows[i]["QTY"])+"'";  
    string[] result = stow[0].split(',');
    int i = Convert.ToInt32(result[0]);
      

  12.   

    把你的srow[0]变成为DataRow srow不行吗?这样你就可以从srow中取得不同的值了,想循环取值当然用数组了,然后再用
    foreach(DataRow srow in dataset1.Tables["PO_STORE"].Rows) 
    {
         srow=Convert.ToString(dataset1.Tables["PO_STORE"].Rows[i]["QTY"]);  
    }
    把这个嵌入你以前的循环应该没问题了吧
    不行的
    我的srow,就是一個数组
    srow[0]只是元素之一
      

  13.   

    strCommand1="select  ISNULL(sum(PO_QTY),0)  as  QTY  from  PO_STORE  where  type='"+i+"'  and.....
    強調     它在每一次循環中只有一個值
      

  14.   

    for  (int  i=0;i<=(int)dataset.Tables["PO_STORE"].Rows.Count-1;i++)  
    {                          
    strCommand1="select  ISNULL(sum(PO_QTY),0)  as  QTY  from  PO_STORE  where  type='"+i+"'  and.....                          
    SqlDataAdapter  objCmd1=new  SqlDataAdapter(strCommand1,objCon);  
    objCmd1.Fill(dataset1,"PO_STORE");  
     
    srow[0]=dataset1.tables[0].rows[0].itemarray[0].tostring()//就更改一下这句,看看如何??
    if(srow[0]==null||srow[0]=="")
    {
       srow[0]="--"
    }
     
    }  
      

  15.   

    for  (int  i=0;i<=(int)dataset.Tables["PO_STORE"].Rows.Count-1;i++)  
    {                          
    strCommand1="select  ISNULL(sum(PO_QTY),0)  as  QTY  from  PO_STORE  where  type='"+i+"'  and.....                          
    SqlDataAdapter  objCmd1=new  SqlDataAdapter(strCommand1,objCon);  
    objCmd1.Fill(dataset1,"PO_STORE");  
     
    srow[0]=dataset1.tables[0].rows[0].itemarray[0].tostring()//就更改一下这句,看看如何??
    if(srow[0]==null||srow[0]=="")
    {
       srow[0]="--"
    }
     

      
    srow[0]=dataset1.tables[0].rows[0].itemarray[0].tostring()//
    只要執行這句就出錯