不存在你说的问题呀!
你试试下面的代码:
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim conn As New SqlConnection("Server=localhost;user id=sa;password=ycm119;database=northwind;")
        Dim cmd As New SqlCommand("Select * from Products", conn)
        conn.Open()
        Dim dtr As SqlDataReader
        dtr = cmd.ExecuteReader
        dtr.Read()
        Label1.Text = dtr("CategoryID").ToString
        conn.Close()
    End Sub

解决方案 »

  1.   

    如果你一定要用GET×××这种形式取得数据那就用这样的形式: Label1.Text = dtr.GetSqlInt32(0).ToString
    注意是GetSql×××
    :)
      

  2.   

    楼主确定位置0是这个float字段么?使用GETINT32和GETINT64自然会出问题,因为数据类型不符。dr.GetValue(0).ToString("P"); ???
    GetValue得到的Object对象啊,哪来得带参数的ToString()呀?
      

  3.   

    dr.GetValue(0).ToString("P");
    那怎么把取出的值转换为百分比呀,我试了好几种方法都不行
      

  4.   

    数据表中的这个字段存在null值吧。
      

  5.   

    dr.GetValue(0).ToString("P");
    没有呀,我试了好多方法,就是无法转换为百分比,郁闷呀
      

  6.   


    此法可行
    double.Parse(R["UnitPrice"].ToString())
    float.Parse(R["UnitPrice"].ToString())