我有一個名爲call的數據庫表,其中列call_time,location,emergency_type,並且有三種類型的緊急情況:醫務人員,警察和消防員。在Windows窗體中,我創建了CheckBoxes的「護理人員」,「警察」,「消防員」,我想檢索滿足用戶選擇的所有表格列。檢索符合選定條件的數據的最佳做法
我創建了一個功能:
public static DataTable GetHistory(DateTime from, DateTime to, bool paramedics, bool police, bool firefighters)
{
string select =
"SELECT call_time, location, emergency_type where call_time between @from AND @to AND";
if(paramedics)
{
select += " emergency_type = 'paramedics' ";
}
if(paramedics && police)
{
select +=" emergency_type = 'paramedics' OR emergency_type = 'police';
}
...
}
此代碼然而看起來非常髒,因爲如果有30個各種緊急會有30!在編寫所有if語句之前,我會變老。
如果您共享您檢索符合所選搜索條件,如果有,你可以chosse很多選擇數據的做法我將不勝感激。
謝謝!
順便說一句,如果語句運行了一個又一個,所以如果醫護人員和警察都是真的,你wouold用字符串」 ...... emergency_type最終=‘救護’emergency_type =‘救護’OR emergency_type =‘警察’ 「 – Ady 2008-11-01 08:58:17
這只是一個方法示例,而不是工作版本。 – 2008-11-01 20:02:22