以前我問過inserting a column into a dataset。我現在有一個類似的問題,即將兩列或更多列合併爲一列。如何合併DataSet中的兩列?
可以說我有以下數據集:
DataSet ds = new DataSet();
ds.Tables.Add(new DataTable());
ds.Tables[0].Columns.Add("id", typeof(int));
ds.Tables[0].Columns.Add("firstname", typeof(string));
ds.Tables[0].Columns.Add("lastname", typeof(string));
我需要的「名字」和「姓氏」列組合成所謂的「名」一列。
對我來說,創建一個將兩個列合併在一起的方法還是一個可以用來將多個列合併在一起的更一般的方法是最好的方法?
我的想法是像下面創建排序的一般化方法:
MergeColumns(字符串格式,串mergedColumn,數據表DT,則params串[] columnsToMerge)
用戶如下提供的格式:「{0} {1}」
mergedColumn是新列的名稱......但它必須能夠與將要合併的列之一相同因爲在我的現實世界中, m將「name」和「given_names」合併爲「name」...但我仍然希望能夠使用它,如果我需要合併「街道」,「城市」,「州」,「後科de「等列入名爲」地址「的列。
我想這將被使用的方式如下:
MergeColumns( 「{0} {1}」, 「姓名」,的dataTable, 「姓名」, 「姓」);
給出了上述數據集,我期望得到的數據設置爲如下所示:
DataSet ds = new DataSet();
ds.Tables.Add(new DataTable());
ds.Tables[0].Columns.Add("id", typeof(int));
ds.Tables[0].Columns.Add("name", typeof(string));
這個問題似乎是一個合理的做法?像這樣的方法是否已經存在?我不想重新發明輪子。另外,我是否正在創建比我現在需要的功能更多的方法?
實際上這不是一個壞主意......我只是仔細檢查了我已經提供的規範,並且沒有任何內容說這不能在存儲過程級別完成......這種方式我只回到「名稱」列... – mezoid 2009-01-19 05:18:30
我投這個答案,因爲它允許我輕鬆地在存儲的proc級別完成工作。雖然這個答案沒有回答如何實際合併兩列,但它確實表明我正在考慮解決方案。 – mezoid 2009-01-19 06:22:51