Dim dataset1 As New DataSet
      Dim dt1 As New DataTable
      dataset1 = database.SelectStockValue(PRODUCT_TYPE)
      dt1 = dataset1.Tables(0)
       If dt1.Rows.Count > 0 Then
              lable.Text = dt1.Rows(0)("num").ToString()
              valueweight = dt1.Rows(0)("gross_weight").ToString() / Convert.ToInt32(lable.Text)
              valuesuttle = dt1.Rows(0)("product_suttle").ToString() / Convert.ToInt32(lable.Text)
              product_Cname = dt1.Rows(0)("product_cname").ToString()
       End If 
      Function SelectStockValue(ByVal sql As String) As DataSet
        Dim ds As New DataSet
        Dim cmd As SqlCommand = conn.CreateCommand()
        cmd.CommandText = "select * from StockGoods where PRODUCT_TYPE='" + sql + "'"
        Dim da As SqlDataAdapter = New SqlDataAdapter(cmd)
        Try
            conn.Open()
            da.Fill(ds)
        Catch ex As Exception
            Throw ex
        Finally
            conn.Close()
        End Try
        Return ds
    End Function
    调试到dt1.Rows.Count>0时,为什么是显示为0?????

解决方案 »

  1.   

    dataset1 = database.SelectStockValue(PRODUCT_TYPE) 
    你这句话要传值,
    不能传变量过去吧!
    修改*PRODUCT_TYPE*为具体的值试试.
      

  2.   

    建议调试方法SelectStockValue,获得cmd.CommandText生成后的查询语句,到数据库中执行一下看看
      

  3.   

       调试在dt1.Rows.Count > 0 显示Count=0
      

  4.   

    你确定你Count=0就是dt1.Rows.Count的count?    If dt1.Rows.Count > 0 Then
                  Console.WriteLine(dt1.Rows.Count);
                  lable.Text = dt1.Rows(0)("num").ToString() 
                  valueweight = dt1.Rows(0)("gross_weight").ToString() / Convert.ToInt32(lable.Text) 
                  valuesuttle = dt1.Rows(0)("product_suttle").ToString() / Convert.ToInt32(lable.Text) 
                  product_Cname = dt1.Rows(0)("product_cname").ToString() 
           End If 
      

  5.   

    Console.WriteLine(dt1.Rows.Count);
    输出什么 ?
      

  6.   

      这是我的完整代码,帮我找找~~~~
    ds = SelectExcel()
            myDataTable = ds.Tables(0)
            count = myDataTable.Rows.Count
            If count > 0 Then
                For j = 0 To count - 1
                    PRODUCT_TYPE = myDataTable.Rows(j)("规格/型号").ToString().Replace("'", "''")
                    product_How = myDataTable.Rows(j)("件数").ToString().Replace("'", "''")
                    product_Menber = myDataTable.Rows(j)("数量").ToString().Replace("'", "''")                price = myDataTable.Rows(j)("单价").ToString().Replace("'", "''")
                    If price = "" Then
                        price = 0
                    End If                Dim dataset1 As New DataSet
                    Dim dt1 As New DataTable
                    dataset1 = database.SelectStockValue(PRODUCT_TYPE)
                    dt1 = dataset1.Tables(0)
                    If dt1.Rows.Count > 0 Then
                        lable.Text = dt1.Rows(0)("num").ToString()
                        valueweight = dt1.Rows(0)("gross_weight").ToString() / Convert.ToInt32(lable.Text)
                        valuesuttle = dt1.Rows(0)("product_suttle").ToString() / Convert.ToInt32(lable.Text)
                        product_Cname = dt1.Rows(0)("product_cname").ToString()
                    End If