将datarow转换为int

Ste*_*ann 5 c# int datarow

我有一个数据行,但我怎么能将它转换为int?

我试过这个,但它不起作用.

dsMovie = (DataSet)wsMovie.getKlantId();
            tabel = dsMovie.Tables["tbl_klanten"];
            eersteRij = tabel.Rows[0];
(Int32.Parse(eersteRij.ToString())
Run Code Online (Sandbox Code Playgroud)

小智 12

DataRow是一个对象; 它不是整数.DataRow包含一列或多列数据.您可以索引DataRow以访问这些coulmns的值.

如果table tbl_klanten包含一列,并且该列是整数,则可以执行以下操作:

var myInt = (int)eersteRij[0];
Run Code Online (Sandbox Code Playgroud)

如果列是包含整数值的字符串,

var myInt = int.Parse(eersteRij[0]);
Run Code Online (Sandbox Code Playgroud)

如果列名为klant_id...

var myInt = (int)eersteRij["klant_id"];
Run Code Online (Sandbox Code Playgroud)

如果列是包含整数值的字符串,

var myInt = int.Parse(eersteRij["klant_id"]);
Run Code Online (Sandbox Code Playgroud)


Nas*_*efi 8

只需使用Field方法:

int result = row.Field<int>("ColName");
Run Code Online (Sandbox Code Playgroud)

Field方法还支持可空类型:

Field方法支持将列作为可空类型进行访问.如果DataSet中的基础值为Value,则返回的可空类型的值为null.

请注意:

Field方法不执行类型转换.如果需要类型转换,则应首先使用Field方法获取列值.然后应将列值转换为另一种类型.


Fem*_*ref 2

您需要知道您想要的对象位于哪个索引,并将其转换为 int,例如:

int value = (int)eersteRij[0];
Run Code Online (Sandbox Code Playgroud)