public sealed override void Open(BaseLoginInfo pInfo) { //Record to base class (Vital) baseLoginInfo = pInfo; LoginInfo_Sqlite myInfo = pInfo as LoginInfo_Sqlite; LoginInfo_ForAllDbTypes allInfo = pInfo as LoginInfo_ForAllDbTypes; if ((myInfo == null) && (allInfo == null)) { throw new ArgumentException("Only Support Sqlite login info and AllDBTypes Info"); } if (IsOpened) { return; } try { string connectionStr = string.Empty; if (allInfo != null) { myInfo = new LoginInfo_Sqlite(); myInfo.Pwd = allInfo.Pwd; myInfo.IsUnicode = allInfo.IsUnicode; myInfo.IsReadOnly = false; myInfo.DbFile = allInfo.Database; } connectionStr = DbConnectionString.Sqlite.Standard( myInfo.DbFile, myInfo.IsReadOnly, myInfo.IsUnicode, myInfo.Pwd); baseConn = new SQLiteConnection(connectionStr); baseConn.Open(); CurDatabase = myInfo.DbFile; invalidator = new InvalidatorSqlite(); } catch (SQLiteException ee) { throw ee; } catch (DbException eee) { throw eee; } }
public sealed override void Open(string connectionString) { if (string.IsNullOrEmpty(connectionString)) { throw new Exception("Invalid connection string"); } try { if (IsOpened) { return; } baseConn = new SQLiteConnection(connectionString); baseConn.Open(); invalidator = new InvalidatorSqlite(); } catch (SQLiteException ee) { throw ee; } }