我有一個數據行,但我怎麼能轉換爲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