我試圖使用MySQL,SQL服務器面臨着奇怪的錯誤沒有設置對SQL命令的對象工廠模式數據庫連接
的實例
對象引用來實現對數據庫的連接工廠模式對象
internal class SqlServerDB : IDatabase { private SqlConnection _Connection = null; private SqlCommand _Command = null; public IDbCommand Command { get { if (_Command == null) { _Command.Connection = (SqlConnection)Connection; //_Command = new SqlCommand(); } return _Command; } } public IDbConnection Connection { get { if (_Connection == null) { string connectionString = ConfigurationManager.ConnectionStrings["testSQL"].ConnectionString; _Connection = new SqlConnection(connectionString); } return _Connection; } } }
數據庫製造部分:
public static class DatabaseFactory { public static IDatabase CreateDatabase(DBType type) { switch (type) { case DBType.SqlServer: return new SqlServerDB(); case DBType.MySql: return new MySQLDB(); } return null; } }
主要方法
static void Main(string[] args) { IDatabase database; DBType databaseType = DBType.SqlServer; database = DatabaseFactory.CreateDatabase(databaseType); IDbConnection connection = database.Connection; IDbCommand command = database.Command; command.CommandType = CommandType.Text; command.CommandText = "select * from User"; connection.Open(); }
和數據庫的由枚舉選擇。
完美的男人謝謝你! –