Example #1
0
        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;
            }
        }
Example #2
0
        public sealed override bool CreateDatabase(BaseLoginInfo loginInfo)
        {
            LoginInfo_Sqlite myInfo = loginInfo as LoginInfo_Sqlite;

            if (string.IsNullOrEmpty(myInfo.DbFile))
            {
                throw new ArgumentException("Db name can't be empty or null");
            }

            try
            {
                SQLiteConnection.CreateFile(myInfo.DbFile);
                return(true);
            }
            catch (SQLiteException ee)
            {
                Debug.WriteLine(ee.Message);
                return(false);
            }
        }