目前我在做這個...如何分配DataRow對象在.NET 1.1
object s = new object();
s = mydatarow["mycolumn"];
我想什麼做的是...
DataRow r = null;
r = mydatarow["mycolumn"];
,我得到一個錯誤並表示無法將對象轉換爲DataRow。
有沒有更好的方法來做到這一點?
目前我在做這個...如何分配DataRow對象在.NET 1.1
object s = new object();
s = mydatarow["mycolumn"];
我想什麼做的是...
DataRow r = null;
r = mydatarow["mycolumn"];
,我得到一個錯誤並表示無法將對象轉換爲DataRow。
有沒有更好的方法來做到這一點?
你正在做什麼?
object s = new object();
s = mydatarow["mycolumn"];
這不是一個好主意,因爲第一行創建一個新的對象,然後將第二行扔掉該對象,並替換它來自DataRow中「mycolumn」列的值。這並沒有太大的傷害,除了它爲垃圾收集器創建額外的工作,沒有任何理由。取而代之的是,你應該這樣做:
object s = mydatarow["mycolumn"];
但是,如果你碰巧知道「mycolumn」包含一個字符串值,可以改爲做到這一點:
string s = (string)mydatarow["mycolumn"];
同樣,如果「mycolumn 「是一個整數列...
int x = (int)mydatarow["mycolumn"];
在任何情況下,你應該做到以下幾點,因爲它根本沒有任何意義,而框架是不夠好,告訴你,‘在mycolumn’值您的數據實際上,Row不是另一個DataRow。
DataRow r = null;
r = mydatarow["mycolumn"];
看起來像你做錯了什麼。
DataRow r = null;
r = mydatarow["mycolumn"];
mydatarow是DataRow本身。當你參考特定的列時,你會得到表格的「單元格」。 (它具有類型對象,因爲DataSets基本上是鬆散類型的),但您嘗試將單元指定給DataRow。
明白了嗎?
有三件事...一個DataTable(多行),一個TABLE的數據ROW(多個字段/列)以及各個列單元格本身。
DataTable oTbl = ResultSetFromYourQuery();
DataRow oDR = oTbl.Rows[0]; // Rows[0] is first row in a result table (zero-based)
String ColumnValue = oDR["YourColumnName"];
你可以試試這個:
DataRow r = null;
r = (DataRow) mydatarow["mycolumn"]; //*
這是不可能的,但理論上是可能的,這將正常工作。 通常,當我遇到這個問題時,我會堅持在一個斷點(我添加了//*
),看mydatarow["mycolumn"]
,並讓Visual Studio告訴我它實際是什麼類型(以及其他決定因素)。
請格式化您的代碼 – Andrey 2010-03-16 18:37:24
您想完成什麼?你的代碼沒有意義。您尚未創建DataRow。你不能這樣創建一個--DataRow沒有公共構造函數。 – 2010-03-16 18:45:22