Example #1
0
        bool CheckTableIsExisted(string dbPath, string tableName)
        {
            if (string.IsNullOrEmpty(dbPath) || !File.Exists(dbPath) ||
                string.IsNullOrEmpty(tableName))
            {
                return(false);
            }

            bool rc = false;

            SQLiteCommand    Sql_command;
            SQLiteDataReader Sql_reader;
            string           strCmd =
                "SELECT name FROM sqlite_master " +
                "WHERE type = 'table' AND name = '" + tableName + "'";

            try
            {
                System.Data.SQLite.SQLiteConnection SqlConn = CreateSqlConnection(dbPath);
                Sql_command = new SQLiteCommand(strCmd, SqlConn);
                Sql_reader  = Sql_command.ExecuteReader();

                while (Sql_reader.Read())
                {
                    rc = true;
                }
                CloseSqlConnection(SqlConn);
            }
            catch
            {
                rc = false;
            }

            return(rc);
        }
Example #2
0
        /// <summary>
        /// Get row datas by indicating table
        /// </summary>
        /// <param name="strTableName"></param>
        /// <param name="strSqlWhere"></param>
        /// <returns></returns>
        List <Dictionary <string, object> > SelectTable(DatabaseName eDatabaseName, string strTableName, string strSqlWhere)
        {
            string                              databaseFilePath = GetDatabasePath(eDatabaseName);
            SQLiteCommand                       Sql_command;
            SQLiteDataReader                    Sql_reader;
            string                              str_SelectCmd    = string.Empty;
            string                              setLimt          = string.Empty;
            SQLiteConnection                    SqlConn          = CreateSqlConnection(databaseFilePath);
            Dictionary <string, object>         dicFieldValues   = null;
            List <Dictionary <string, object> > lstSelectResults = new List <Dictionary <string, object> >();

            List <string> lstTable = getTableList(SqlConn);

            if (lstTable.Contains(strTableName.ToLower()))
            {
                str_SelectCmd = string.Format("SELECT * FROM [{0}]", strTableName);
                if (!string.IsNullOrEmpty(strSqlWhere))
                {
                    str_SelectCmd += string.Format(" WHERE {0}", strSqlWhere);
                }

                Sql_command = new SQLiteCommand(str_SelectCmd, SqlConn);
                Sql_reader  = Sql_command.ExecuteReader();

                List <object> lstObjects    = new List <object>();
                List <string> lstFieldNames = getFieldList(SqlConn, strTableName);

                while (Sql_reader.Read())
                {
                    dicFieldValues = new Dictionary <string, object>();
                    foreach (string field in lstFieldNames)
                    {
                        dicFieldValues.Add(field, Sql_reader[field]);
                    }

                    lstSelectResults.Add(dicFieldValues);
                }
            }
            //return list_rtn;
            return(lstSelectResults);
        }
Example #3
0
        List <Dictionary <string, object> > SelectTable(DatabaseName eDatabaseName, string strTableName, List <string> lstCol, string strSqlWhere)
        {
            string                              databaseFilePath = GetDatabasePath(eDatabaseName);
            SQLiteCommand                       Sql_command;
            SQLiteDataReader                    Sql_reader;
            string                              str_SelectCmd    = string.Empty;
            string                              setLimt          = string.Empty;
            SQLiteConnection                    SqlConn          = CreateSqlConnection(databaseFilePath);
            Dictionary <string, object>         dicFieldValues   = null;
            List <Dictionary <string, object> > lstSelectResults = new List <Dictionary <string, object> >();

            // set columns we want to select
            string strCol = string.Empty;

            if (lstCol != null)
            {
                foreach (string col in lstCol)
                {
                    strCol += col + " ";
                }
            }
            if (!string.IsNullOrEmpty(strCol.Trim()))
            {
                strCol = strCol.Trim().Replace(" ", ", ");
            }
            else
            {
                strCol = "*";
            }

            List <string> lstTable = getTableList(SqlConn);

            if (lstTable.Contains(strTableName.ToLower()))
            {
                str_SelectCmd = string.Format("SELECT {0} FROM {1}", strCol, strTableName);
                if (!string.IsNullOrEmpty(strSqlWhere))
                {
                    str_SelectCmd += string.Format(" WHERE {0}", strSqlWhere);
                }

                Sql_command = new SQLiteCommand(str_SelectCmd, SqlConn);
                Sql_reader  = Sql_command.ExecuteReader();

                List <object> lstObjects    = new List <object>();
                List <string> lstFieldNames = getFieldList(SqlConn, strTableName);

                while (Sql_reader.Read())
                {
                    if (strCol.Equals("*"))
                    {
                        dicFieldValues = new Dictionary <string, object>();
                        foreach (string field in lstFieldNames)
                        {
                            dicFieldValues.Add(field, Sql_reader[field]);
                        }

                        lstSelectResults.Add(dicFieldValues);
                    }
                    else
                    {
                        dicFieldValues = new Dictionary <string, object>();
                        foreach (string field in lstCol)
                        {
                            dicFieldValues.Add(field, Sql_reader[field]);
                        }

                        lstSelectResults.Add(dicFieldValues);
                    }
                }
            }

            return(lstSelectResults);
        }