public DataTable GetDataByProcedure(SqlCommand oracleCommand) { DataTable dtData = new DataTable(); try { DataAccessConfiguration config = new DataAccessConfiguration(); string sCon = config.ConnectionString; _connection = new SqlConnection(sCon); _connection.Open(); oracleCommand.Connection = (SqlConnection)_connection; SqlDataAdapter oda = new SqlDataAdapter(); oda.SelectCommand = oracleCommand; oda.Fill(dtData); } catch (Exception ex) { throw ex; } finally { _connection.Close(); } return(dtData); }
/// <summary> /// 根据配置获取数据访问 /// </summary> /// <param name="config"></param> /// <returns></returns> public static DataAccessBroker Instance(DataAccessConfiguration config) { DataAccessBroker _broker = new SQLiteDataAccessBroker(); _broker.Configuration = new SQLiteConnectConfiguration(config); _broker.Create();//创建并打开数据库连接 return(_broker); }
/// <summary> /// 根据配置获取数据访问 /// </summary> /// <param name="config"></param> /// <returns></returns> public static DataAccessBroker Instance(DataAccessConfiguration config) { DataAccessBroker _broker = null; if (string.Compare(config.DBType, "ORACLE", false) == 0) { _broker = new SQLDataAccessBroker(); _broker.Configuration = config; } else if (string.Compare(config.DBType, "SQLServer", false) == 0) { _broker = new SQLServerDataAccessBroker(); _broker.Configuration = config; } _broker.Create();//创建并打开数据库连接 return(_broker); }
/// <summary> /// 根据配置获取数据访问 /// </summary> /// <param name="config"></param> /// <returns></returns> public static DataAccessBroker Instance(DataAccessConfiguration config) { DataAccessBroker _broker = null; if (string.Compare(config.DBType, DBTYPE_SQLSERVER, false) == 0) { _broker = new SQLDataAccessBroker(); _broker.Configuration = config; } //else if (string.Compare(config.DBType, DBTYPE_ODBC, false) == 0) //{ // _broker = new ODBCDataAccessBroker(); // _broker.Configuration = config; //} else { _broker = new OracelDataAccessBroker(); _broker.Configuration = config; } _broker.Create();//创建并打开数据库连接 return(_broker); }
/// <summary> /// 根据配置名获取配置信息 /// </summary> /// <param name="configName"></param> /// <returns></returns> public static DataAccessConfiguration GetDataAccessConfiguration(string configName) { if (!_cachedConfig.ContainsKey(configName)) { string factConfigName = configName; XmlDocument doc = new XmlDocument(); doc.Load(ConfigFile); XmlNode objNode = doc.SelectSingleNode("configuration/instances"); if (factConfigName.Length == 0)//如果传入参数为空则查找默认配置 { factConfigName = objNode.Attributes["defaultInstance"].Value.ToString(); } XmlNodeList objNodeList = objNode.SelectNodes("instance"); int iCount = objNodeList.Count; XmlNode objDefaultNode = null; for (int i = 0; i < iCount; i++)//根据配置名称遍历instance下所有节点 { if (String.Compare(objNodeList[i].Attributes["name"].Value.ToString(), factConfigName, false) == 0) { objDefaultNode = objNodeList[i]; break; } } if (null == objDefaultNode) { throw new Exception("Can't find the instance configure information."); } string strConnName = objDefaultNode.Attributes["connectionString"].Value.ToString();//获取连接名称 XmlNode objConnNode = null; objNodeList = doc.SelectNodes("configuration/connectionStrings/connectionString"); iCount = objNodeList.Count; for (int i = 0; i < iCount; i++)//根据连接名称遍历connectionStrings下所有节点 { if (String.Compare(objNodeList[i].Attributes["name"].Value.ToString(), strConnName, false) == 0) { objConnNode = objNodeList[i]; break; } } if (null == objConnNode) { throw new Exception("Can't find the instance configure information."); } DataAccessConfiguration config = new DataAccessConfiguration(); config.ConfigName = factConfigName; config.DBType = objDefaultNode.Attributes["type"].Value.ToString(); objNodeList = objConnNode.SelectNodes("parameters/parameter"); iCount = objNodeList.Count; for (int i = 0; i < iCount; i++) { config.Parameters[objNodeList[i].Attributes["name"].Value.Trim()] = objNodeList[i].Attributes["value"].Value.Trim(); } _cachedConfig[configName] = config; } return(_cachedConfig[configName]); }
public SQLiteConnectConfiguration(DataAccessConfiguration config) { _config = config; }
/// <summary> /// 根据名称获取数据访问 /// </summary> /// <param name="instanceName"></param> /// <returns></returns> public static DataAccessBroker Instance(string instanceName) { DataAccessConfiguration config = DataAccessConfigurationMangement.GetDataAccessConfiguration(instanceName.Trim()); return(Instance(config)); }
/// <summary> /// 获取数据通过Command /// </summary> /// <typeparam name="T"></typeparam> /// <param name="command">SQL</param> /// <returns></returns> public static EntityCollection <T> Select <T>(string queryString, DataAccessParameterCollection parameters, CommandType cmdType, DataAccessConfiguration config) where T : EntityBase, new() { EntityCollection <T> result = new EntityCollection <T>(); using (DataAccessBroker broker = DataAccessFactory.Instance(config)) { IDataReader reader = broker.ExecuteReader(queryString, parameters, cmdType); int fieldCount = reader.FieldCount; List <string> columns = new List <string>(); object[] values = new object[fieldCount]; for (int i = 0; i < fieldCount; i++) { columns.Add(reader.GetName(i)); } while (reader.Read()) { T t = new T(); reader.GetValues(values); for (int i = 0; i < fieldCount; i++) { if (!(values[i] == DBNull.Value)) { t.SetData(columns[i], values[i]); } } result.Add(t); } reader.Dispose(); } return(result); }