System.Data.Datarow C#错误

时间:2014-05-20 07:09:16

标签: c# vb.net

所以我即将创建我的第一个C#系统。我使用我的vb.net系统作为我的参考。

这是我的vb.net系统上的代码:

Dim value As Integer = Val(dt.Rows(0).Item("TransID"))

我不得不使用在线转换器,这就是我得到的:

int value = double.Parse(dt.Rows[0].Item[TransID]);

我在“项目”下得到了波浪线 - 告诉我

  

错误System.Data.DataRow'不包含'Item'的定义   并且没有扩展方法'Item'接受类型的第一个参数   可以找到'System.Data.DataRow'(你是否错过了使用   指令或程序集引用?)

可能是什么问题?

6 个答案:

答案 0 :(得分:3)

该行应为

int value = double.Parse(dt.Rows[0]["TransID"].ToString());

dt.Rows[0]返回第一行,dt.Rows[0]["TransID"]从第一行返回“TransID”列的值object。由于Parse只需要字符串,而不是对象,因此您也需要ToString()

为避免ToString您还可以使用以下内容,这样做会更好:

int value = (int)Convert.ToDouble(dt.Rows[0]["TransID"]);

答案 1 :(得分:2)

试试这个:

int value = double.Parse(dt.Rows[0]["TransID"]);

答案 2 :(得分:0)

dt.Rows[0]["TransID"]

这应该有效。

答案 3 :(得分:0)

试试这个......

int value = int.Parse(dt.Rows[0]["TransID"]);

答案 4 :(得分:0)

int value = int.Parse(dt.Rows[0]["TransID"]);

或者您也可以使用列索引:

假设所需列是数据表中的第3列:

  int value = int.Parse(dt.Rows[0][2]);

答案 5 :(得分:0)

您还可以尝试DataRow上的Field Method,如下所示:

int value = dr.Rows[0].Field<int>("TransID");

http://msdn.microsoft.com/en-us/library/system.data.datarowextensions.field