我有一个数据行,但我怎么能转换为int?数据行转换成int
我尝试这样做,但它不工作。
dsMovie = (DataSet)wsMovie.getKlantId();
tabel = dsMovie.Tables["tbl_klanten"];
eersteRij = tabel.Rows[0];
(Int32.Parse(eersteRij.ToString())
我有一个数据行,但我怎么能转换为int?数据行转换成int
我尝试这样做,但它不工作。
dsMovie = (DataSet)wsMovie.getKlantId();
tabel = dsMovie.Tables["tbl_klanten"];
eersteRij = tabel.Rows[0];
(Int32.Parse(eersteRij.ToString())
你需要知道哪些指标你要的对象是,和铸造的为int,例如:
int value = (int)eersteRij[0];
-1不会工作它的DataRow不是一个值..除非你已经定义了[Explicit cast](http://msdn.microsoft.com/en-us/library/xhbhezf4(v = vs.80).aspx)功能 – 2011-03-02 14:22:14
固定它,你需要知道的数据是这当然指数。 – Femaref 2011-03-02 14:26:06
和我删除我downvote^_^ – 2011-03-02 14:27:21
因为即使在层次结构的该级别你仍然有一个DataRow并且你不能将DataRow转换为int ..一个值可以被转换。
而且你为什么要转换整个的DataRow为int ..通常你想在一个行单元格得到值,因此尝试,财产以后这样的:
int value = (int)eersteRij.Items[0];
其中0可以更换由小区位置(INT)或列名称(字符串)
一个DataRow是一个对象;它不是一个整数。 DataRow包含一列或多列数据。您可以将索引编入DataRow以访问这些coulmns的值。
如果表tbl_klanten
包含一列,并且该列是一个整数,你可以做到以下几点:
var myInt = (int)eersteRij[0];
如果列包含整数值的字符串,
var myInt = int.Parse(eersteRij[0]);
如果列被命名为klant_id
...
var myInt = (int)eersteRij["klant_id"];
如果列是包含整数的值是字符串,
var myInt = int.Parse(eersteRij["klant_id"]);
只需使用现场方法:
int result = row.Field<int>("ColName");
The Field method also supports nullable types:
外地方法提供支持用于访问列作为可为空的 类型。如果在DataSet中的基础值是值,返回 可空类型都会有一个null值。
并请留意:
外地方法不执行类型转换。如果需要进行类型转换,则应首先使用Field方法获取列值。然后应将列值转换为另一种类型。
欢呼声为最佳答案 – AnjumSKhan 2017-07-08 11:18:34
同意 - 没有看得太深入,但我相信这可能会避免提到的其他方法的拳击税。但要小心,如果值是DBNull,会抛出错误。 查看此答案的更多详细信息:https://stackoverflow.com/questions/7104675/difference-between-getting-value-from-datarow – chadiusvt 2017-11-20 16:01:36
行?也许是连续的场地? – Snowbear 2011-03-02 14:18:27