0
別人在我創建的工會選擇位於C#在同一服務器內2個數據庫視圖的方法改善,這裏是該方法的代碼:創建動態聯盟選擇在C#方法
public override DataSet GetDynamicReportData(string strSQL) {
var sbSQL = new StringBuilder(strSQL);
var finalQueryStr = new StringBuilder(strSQL);
sbSQL.Replace("SELECT DISTINCT ", "");
var iamNEAS3 =
new StringBuilder(" UNION SELECT DISTINCT ");
var queryColumns = sbSQL.ToString().Split(',');
for (var i = 0; i <= queryColumns.Length - 1; i++) {
iamNEAS3.Append(queryColumns[i]);
if (i < queryColumns.Length - 1) {
iamNEAS3.Append(", ");
} else if (i == queryColumns.Length - 1) {
var appendMagic =
queryColumns[i].Replace(
"From [dbo].[vw_Classified_ApplicationsFiles]",
"FROM [project_phoenix].[dbo].[vw_Classified_ApplicationFiles]")
iamNEAS3.Append(appendMagic);
// Systematic removal; thank you!
iamNEAS3.Replace(queryColumns[i], "");
}
}
finalQueryStr.Append(iamNEAS3);
return DALDynamicReport.GetData(finalQueryStr.ToString());
}
現在接收一個字符串參數,其中
strSQL = "Select Distinct [Row1], [Row2], [Row3], [Row4] From [project_mongoose].[dbo].[vw_Classified_ApplicationsFiles] where [Row2] <= 200".
我知道我的編程技巧是有限的,但有沒有辦法像我一樣不手工代碼呢?
無論如何你需要創建動態行選擇?創建一個proc並直接使用它,我們更容易和易於管理。 –
好主意骯髒的,但讓我們假設一個環境,我的數據源只是視圖,我無法訪問任何後端的實際數據庫 –
爲什麼你不直接在這裏創建查詢字符串? –