Example #1
0
 public void Close()
 {
     if (_sql != null)
     {
         _sql.Close();
     }
 }
Example #2
0
        public SQLiteTester()
        {
            //SQLiteClient.CreateDB(TestFilename);
            dbClient = new SQLiteClient();
            dbClient.Open(TestFilename);

            if (!dbClient.ExistTable("Member"))
            {
                GDebug.Log(dbClient.CreateTable("Member",
                                                new SQLiteFieldAffinity(TypeAffinity.Text, "ID"),
                                                new SQLiteFieldAffinity(TypeAffinity.Text, "PW")));
            }

            var resultDataSet = dbClient.ExecuteDataset("SELECT * FROM Member WHERE PW LIKE '%345%'");

            GDebug.Log("Result " + resultDataSet.Tables[0].Rows[1][0]);
            object result = dbClient.ExecuteScalar("SELECT PW FROM Member WHERE ID='isg1153'");

            if (result != null)
            {
                string foundPw = result as string;
                GDebug.Log(foundPw);
            }
            else
            {
                GDebug.Log(dbClient.InsertRow("Member",
                                              new SQLiteField("ID", DbType.String, "isg1153"),
                                              new SQLiteField("PW", DbType.String, "123456")));
            }

            dbClient.Close();
        }
Example #3
0
        public void Save()
        {
            if (DatabaseUtility.TableExists(_sqlClient, "WatchList"))
            {
                _sqlClient.Execute("DELETE FROM WatchList;");
                _sqlClient.Execute("DELETE FROM SeriesWatchList;");
                foreach (WatchItem watch in _watchItemList)
                {
                    if (watch is SeriesItem)
                    {
                        try
                        {
                            var series = watch as SeriesItem;
                            _sqlClient.Execute(String.Format("INSERT INTO SeriesWatchList (SeriesName, OriginalSeriesName, SeriesID, Added, Quality, Tracker, Type, Source, Folder, IncludeSpecials) VALUES (\"{0}\",\"{1}\",{2},\"{3}\",\"{4}\",\"{5}\",\"{6}\",\"{7}\",\"{8}\",\"{9}\");", series.show.Name, series.show.OriginalName, series.show.ID, series.Added.Ticks, series.quality, series.tracker, series.type, series.source, series.folder, (series.includespecials).ToString()));
                        }
                        catch (Exception e) { }
                    }
                    else
                    {
                        try
                        {
                            _sqlClient.Execute(String.Format("INSERT INTO WatchList (Search, Added, Label) VALUES (\"{0}\", {1}, \"{2}\");", watch.SearchTerm, watch.Added.Ticks, watch.Label));
                        }
                        catch (Exception e) { }
                    }
                }
            }

            _sqlClient.Close();
        }
 public void Dispose()
 {
     if (m_db != null)
     {
         m_db.Close();
         m_db.Dispose();
         m_db = null;
     }
 }
Example #5
0
 public void Dispose()
 {
     if (sqlClient != null)
     {
         sqlClient.Close();
         sqlClient.Dispose();
         sqlClient = null;
     }
 }
Example #6
0
        private void Open()
        {
            try
            {
                // Maybe called by an exception
                if (m_db != null)
                {
                    try
                    {
                        m_db.Close();
                        m_db.Dispose();
                        Log.Warn("PictureDatabaseSqlLite: Disposing current instance..");
                    }
                    catch (Exception) {}
                }

                // Open database
                try
                {
                    Directory.CreateDirectory(Config.GetFolder(Config.Dir.Database));
                }
                catch (Exception) {}
                m_db = new SQLiteClient(Config.GetFile(Config.Dir.Database, "PictureDatabase.db3"));
                // Retry 10 times on busy (DB in use or system resources exhausted)
                m_db.BusyRetries = 10;
                // Wait 100 ms between each try (default 10)
                m_db.BusyRetryDelay = 100;

                _dbHealth = DatabaseUtility.IntegrityCheck(m_db);

                DatabaseUtility.SetPragmas(m_db);
                CreateTables();
                InitSettings();
            }
            catch (Exception ex)
            {
                Log.Error("picture database exception err:{0} stack:{1}", ex.Message, ex.StackTrace);
                Open();
            }
            Log.Info("picture database opened");
        }
        private void AddToAlreadyDownloaded(string hash)
        {
            SQLiteClient sqlClient = new SQLiteClient(Config.GetFile(Config.Dir.Database, "MyTorrents.db3"));

            DatabaseUtility.SetPragmas(sqlClient);

            if (!DatabaseUtility.TableExists(sqlClient, "Downloaded"))
            {
                SQLiteResultSet result = sqlClient.Execute("CREATE TABLE Downloaded (Hash CHAR(4096) );");
            }
            sqlClient.Execute(String.Format("INSERT INTO Downloaded VALUES (\"{0}\");", hash));
            sqlClient.Close();
        }
Example #8
0
        /// <summary>
        /// Close the database client.
        /// </summary>
        private void CloseDB()
        {
            try
            {
                if (PicturesDB != null)
                {
                    PicturesDB.Close();
                }

                PicturesDB = null;
            }
            catch (Exception ex)
            {
                logger.Error("close: " + ex.ToString());
            }
        }
Example #9
0
        public static void Close()
        {
            string databaseFile = Settings.GetPath(Settings.Path.database);

            try
            {
                m_db.Close();
                m_db.Dispose();
                m_db = null;
                MPTVSeriesLog.Write("Successfully closed database. Filename = '{0}'", databaseFile);
            }
            catch (Exception)
            {
                MPTVSeriesLog.Write("Failed to close database. Filename = '{0}'", databaseFile);
            }
        }
Example #10
0
        /// <summary>
        /// Method to find the file's unique id in the MyVideo's database
        /// </summary>
        /// <param name="fileName">Filename to look for in the MyVideo's database</param>
        /// <returns>unique id as string</returns>
        private string getMovieID(string fileName)
        {
            string idMovie = String.Empty;

            fileName = fileName.Replace("'", "''");
            try
            {
                SQLiteClient    mp_db   = new SQLiteClient(Config.GetFile(Config.Dir.Database, @"VideoDatabaseV5.db3"));
                SQLiteResultSet results = mp_db.Execute("SELECT idMovie FROM files WHERE strFilename LIKE '\\" + fileName + "'");
                idMovie = results.GetField(0, 0);
                mp_db.Close();
            }
            catch
            {
            }
            return(idMovie);
        }
        public bool IsAlreadyDownloaded(string hash)
        {
            SQLiteClient sqlClient = new SQLiteClient(Config.GetFile(Config.Dir.Database, "MyTorrents.db3"));

            DatabaseUtility.SetPragmas(sqlClient);

            if (!DatabaseUtility.TableExists(sqlClient, "Downloaded"))
            {
                return(false);
            }

            SQLiteResultSet results = sqlClient.Execute(String.Format("SELECT * FROM Downloaded WHERE Hash=\"{0}\";", hash));

            sqlClient.Close();

            return(results.Rows.Count >= 1);
        }
Example #12
0
        public void Close()
        {
            lock (lockObject) {
                if (!_connected)
                {
                    return;
                }

                logger.Info("Closing database connection...");
                try {
                    sqliteClient.Close();
                    sqliteClient.Dispose();
                    logger.Info("Successfully closed Database: {0}", dbFilename);
                    _connected = false;
                }
                catch (Exception e) {
                    logger.ErrorException("Failed closing Database: " + dbFilename, e);
                }
            }
        }
Example #13
0
 public void Close()
 {
     client.Close();
 }
Example #14
0
        private DBMovieInfo getMovieInfo(string idMovie)
        {
            DBMovieInfo movieRes = new DBMovieInfo();

            try
            {
                SQLiteClient    mp_db      = new SQLiteClient(Config.GetFile(Config.Dir.Database, @"VideoDatabaseV5.db3"));
                SQLiteResultSet sqlResults = mp_db.Execute("SELECT * FROM movieinfo WHERE idMovie LIKE '" + idMovie + "'");

                SQLiteResultSet.Row          sqlRow  = sqlResults.GetRow(0);
                System.Collections.Hashtable columns = sqlResults.ColumnIndices;

                movieRes.Popularity = int.Parse(sqlResults.GetField(0, int.Parse(columns["strVotes"].ToString())));
                movieRes.Runtime    = int.Parse(sqlResults.GetField(0, int.Parse(columns["runtime"].ToString())));
                movieRes.Score      = float.Parse(sqlResults.GetField(0, int.Parse(columns["fRating"].ToString())));
                movieRes.Year       = int.Parse(sqlResults.GetField(0, int.Parse(columns["iYear"].ToString())));

                string Title = sqlResults.GetField(0, int.Parse(columns["strTitle"].ToString()));
                if (!Title.Contains("unknown"))
                {
                    movieRes.Title = Title;
                }

                string Certification = sqlResults.GetField(0, int.Parse(columns["mpaa"].ToString()));
                if (!Certification.Contains("unknown"))
                {
                    movieRes.Certification = Certification;
                }

                string Tagline = sqlResults.GetField(0, int.Parse(columns["strTagLine"].ToString()));
                if (!Tagline.Contains("unknown"))
                {
                    movieRes.Tagline = Tagline;
                }

                string Summary = sqlResults.GetField(0, int.Parse(columns["strPlotOutline"].ToString()));
                if (!Summary.Contains("unknown"))
                {
                    movieRes.Summary = Summary;
                }

                string imdb_id = sqlResults.GetField(0, int.Parse(columns["IMDBID"].ToString()));
                if (!imdb_id.Contains("unknown"))
                {
                    movieRes.ImdbID = imdb_id;
                }

                string genreMain = sqlResults.GetField(0, int.Parse(columns["strGenre"].ToString()));
                if (!genreMain.Contains("unknown"))
                {
                    string[] genreSplit = genreMain.Split('/');
                    foreach (string genre in genreSplit)
                    {
                        movieRes.Genres.Add(genre.Trim());
                    }
                }

                string castMain = sqlResults.GetField(0, int.Parse(columns["strCast"].ToString()));
                if (!castMain.Contains("unknown"))
                {
                    string[] castSplit = castMain.Split('\n');
                    foreach (string cast in castSplit)
                    {
                        string castFinal = cast;
                        if (cast.Contains(" as "))
                        {
                            castFinal = cast.Remove(cast.IndexOf(" as "));
                        }
                        movieRes.Actors.Add(castFinal.Trim());
                    }
                }

                string idDirector = sqlResults.GetField(0, int.Parse(columns["idDirector"].ToString()));
                if (!castMain.Contains("unknown"))
                {
                    SQLiteResultSet sqlDirector = mp_db.Execute("SELECT strActor FROM actors WHERE idActor LIKE '" + idDirector + "'");
                    movieRes.Directors.Add(sqlDirector.GetField(0, 0));
                }

                string writers = sqlResults.GetField(0, int.Parse(columns["strCredits"].ToString()));
                if (!writers.Contains("unknown"))
                {
                    string[] writerArray = writers.Split(new string[] { "\n", "   " }, StringSplitOptions.None);
                    foreach (string writer in writerArray)
                    {
                        if (!movieRes.Writers.Contains(writer.Trim()))
                        {
                            movieRes.Writers.Add(writer.Trim());
                        }
                    }
                }

                movieRes.GetSourceMovieInfo(SourceInfo).Identifier = sqlResults.GetField(0, int.Parse(columns["idMovie"].ToString())).ToString();

                mp_db.Close();
            }
            catch
            {
                return(null);
            }

            return(movieRes);
        }
Example #15
0
 public static int Close()
 {
     sqlclient.Close();
     return(0); //nothing to do for sqlite
 }