///<summary>综合readmode参数(优先)和dataStatus静态变量,返回应采用的读取模式</summary> static EReadMode getReadMode(EReadMode readmode) { EReadMode rm; if (readmode != EReadMode.自动) { rm = readmode; } else { if (dataStatus == EDataStatus.模拟) { rm = EReadMode.模拟; } else { rm = EReadMode.数据库读取; } } return(rm); }
///<summary>返回数据表,依据dataStatus的值,用指定键值代表的sql语句或sim语句来读取或模拟数据,模拟时以在参数oldDataTable的数据基础上模拟 </summary> public static KeyValuePair <EReadMode, DataTable> getDataTableByKey(string key, DataTable oldDataTable, EReadMode readmode = EReadMode.自动, bool isShowMessage = true) { SqlSimDesc desc; if (sentenceCollection.sentences.TryGetValue(key, out desc)) { return(getDataTable(desc.sql, desc.sim, oldDataTable, readmode, isShowMessage)); } else { System.Windows.MessageBox.Show(String.Format("未找到指定键值{0}的语句!", key)); } return(new KeyValuePair <EReadMode, DataTable>()); }
///<summary>返回数据表,依据dataStatus的值从数据库用sql语句读取或用sim语句模拟,模拟时以在参数oldDataTable的数据基础上模拟 </summary> public static KeyValuePair <EReadMode, DataTable> getDataTable(string sql, string sim, DataTable oldDataTable, EReadMode readmode = EReadMode.自动, bool isShowMessage = true) { if (getReadMode(readmode) == EReadMode.数据库读取) { return(new KeyValuePair <EReadMode, DataTable>(EReadMode.数据库读取, getDataTableFromSQL(sql, isShowMessage))); } else { return(new KeyValuePair <EReadMode, DataTable>(EReadMode.模拟, Simulate.simData(sim, oldDataTable))); } }