我用的是VB,程序如下:
dim name as string
dim dr as DataRow
dr=dt.NewRow() 'dt是DataTable的一个实例
name=dr("名称")  '“名称”是表的一个子段名我的目的是获得某一行某一列(即指定单元格)的值,在IIS运行后却出错,提示“Value of type 'System.Data.DataRow' cannot be converted to 'string'”.
不知我的写法错在哪,该如何解决?

解决方案 »

  1.   

    我更郁闷..
    DataTable都不能用.
    它所在的类是System.Data
      

  2.   

    DataTable[0][0]取得第一行第一列的内容,类型为object
      

  3.   

    name=dr("名称")
    dr("名称")是个object,你需要转换!
      

  4.   

    DataRow row = DataTable[0].Rows[0];
    取表中一行的值dim name as string
    dim dr as DataRow
    dr=dt.NewRow() 'dt是DataTable的一个实例
    name=dr("名称")  '“名称”是表的一个子段名
      应该是 name=dr("名称") As String  dr 是object类型,你需要转换成String 的类型
      

  5.   


    提示“Value of type 'System.Data.DataRow' cannot be converted to 'string'”.
    =======================================
    楼主要学会看错误提示阿!
    name=dr(“名称”)<--这里左边是string 右边是DataRow,DataRow值当然无法赋给string了。
    正确的写法是
    name=dr["名称"];
    不过dr既然是dt的newrow,不知道楼主取这个null干虾米?= =!
      

  6.   

    可是当我尝试写name=dr["名称"].toString 仍然出错,提示也是一样的。
    楼上的高人说明能否详细点?多谢!!!
      

  7.   

    补充一下:
    如果你的dt这个实例是从数据库中读出来的,那么请下面的两种方式,即使原来字段的类型已经在数据库中被定义为varchar等:
    name=dr["名称"].ToString();
    或者
    name=Convert.ToString(dr["名称"]);
    ========================================
    从数据库读出来的dt在VS中默认为object型,必须显式地转换为你需要的类型。
      

  8.   

    在未加()的条件下调用了tostring方法。。= =!应该是酱紫提示的。
      

  9.   

    先谢谢各位对我这么愚蠢的问题也肯赐教,但我要解释一下,发贴时我误将"[]"写成"()",同时看错误提示我大致也能明白是类型不同造成的,可我在网上看了几个例子有这么写的。我也改了又改,比如写成:name=dr["名称"].toString(),照样报错,所以才上来求教各路高人。*^_^*
      

  10.   

    要先知道某个行的例。。
    dt.rows[行][例]