protected virtual List <T> ReadDbData <T>(string sql) { try { DataSet ds = _DBInstance.ExecuteSQL(sql); if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) { Type dcType = this._MarketDataAdapter.GetType(); MethodInfo mi = dcType.GetMethod("Get" + typeof(T).Name); return((List <T>)mi.Invoke(this._MarketDataAdapter, new object[] { ds.Tables[0] })); } return(null); } catch (Exception ex) { throw ex; } }
public void SaveAShareDescription(List <AShareDescription> lstSrc) { //try //{ if (lstSrc == null || lstSrc.Count == 0) { return; } string sql = @"Select * From asharedescription Where 1=1 "; DataSet ds = _DBInstance.ExecuteSQL(sql); if (ds == null || ds.Tables.Count == 0) { return; } DataTable dt = ds.Tables[0]; DataRow oRow = null; DateTime opDate = DateTime.Now; foreach (AShareDescription d in lstSrc) { DataRow[] oRows = dt.Select("s_info_windcode = '" + d.WindCode + "'"); if (oRows.Length == 0) { oRow = dt.NewRow(); oRow[AMarketDataAdapter.C_Col_WindCode] = d.WindCode; //oRow[AMarketDataAdapter.C_Col_Opmode] = 0; //与Wind不一样 } else { oRow = oRows[0]; //opmode=2 表示该行已经锁定修改,避免被改回错误值 if (checkLocker(oRow)) { continue; } //oRow[AMarketDataAdapter.C_Col_Opmode] = 1; //与Wind不一样 } oRow[AMarketDataAdapter.C_Col_Opdate] = opDate; //与Wind不一样 oRow[AMarketDataAdapter.C_Col_Code] = d.Code; oRow[AMarketDataAdapter.C_Col_Name] = d.Name; oRow[AMarketDataAdapter.C_Col_ExchMarket] = d.Exchange.ToString(); oRow[AMarketDataAdapter.C_Col_ListBoard] = WindEnum.GetInstance().GetEnumTypeValue <ListedBoardType>((int)d.ListedBoard); oRow[AMarketDataAdapter.C_Col_ListDate] = (d.ListDate == null) ? null : d.ListDate.Value.ToString("yyyyMMdd"); oRow[AMarketDataAdapter.C_Col_DelistDate] = (d.DelistDate == null) ? null : d.DelistDate.Value.ToString("yyyyMMdd"); if (oRows.Length == 0) { dt.Rows.Add(oRow); } } _DBInstance.UpdateDB(sql, dt); //} //catch (Exception ex) //{ // throw ex; //} }