示例#1
0
        public SqliteMonoSqlDatabaseContext(DataAccessModel model, SqliteSqlDatabaseContextInfo contextInfo, SqlDataTypeProvider sqlDataTypeProvider, SqlQueryFormatterManager sqlQueryFormatterManager)
            : base(model, contextInfo, sqlDataTypeProvider, sqlQueryFormatterManager)
        {
            if (this.FileName != null)
            {
                var connectionStringBuilder = new SqliteConnectionStringBuilder
                {
                    Enlist     = false,
                    DataSource = contextInfo.FileName
                };

                connectionStringBuilder.Add("DateTimeKind", contextInfo.DateTimeKind);
                connectionStringBuilder.Add("foreign keys", 1);

                this.ConnectionString = connectionStringBuilder.ConnectionString;
            }
            else
            {
                this.ConnectionString = contextInfo.ConnectionString;
            }

            this.ServerConnectionString = this.ConnectionString;

            this.SchemaManager = new SqliteMonoSqlDatabaseSchemaManager(this);
        }
示例#2
0
        /// <inheritDoc />
        protected override string BuildConnectionString(ReadOnlySpan <char> dsn, string user, string password, PhpArray options)
        {
            var csb = new SqliteConnectionStringBuilder();

            csb.DataSource = dsn.ToString();
            csb.Add("Password", password);
            csb.Add("UserId", user);

            return(csb.ConnectionString);
        }
示例#3
0
        protected override void OnAppearing()
        {
            base.OnAppearing();

            Dictionary <int, string> factions = new Dictionary <int, string>();

            SqliteConnectionStringBuilder connStr = new SqliteConnectionStringBuilder();

            connStr.Add("Data Source", App.dbPath);
            connStr.Add("Foreign Keys", true);

            using (SqliteConnection conn = new SqliteConnection(connStr.ToString()))
            {
                //string query = "CREATE TABLE soup_factions (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, name TEXT NOT NULL)";


                //using (SqliteCommand cmd = conn.CreateCommand())
                //{
                //  cmd.CommandText = query;
                //cmd.ExecuteNonQuery();
                //}


                string query = "SELECT * FROM soup_factions";

                using (SqliteCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = query;
                    conn.Open();
                    using (SqliteDataReader reader = cmd.ExecuteReader())
                    {
                        //do
                        //{
                        //    factions.Add(reader.GetInt32(0), reader.GetString(1));
                        //} while (reader.Read());

                        while (reader.Read())
                        {
                            factions.Add(reader.GetInt32(0), reader.GetString(1));
                        }
                    }
                    conn.Close();
                }
            }

            string label = "";

            foreach (KeyValuePair <int, string> faction in factions)
            {
                label += faction + "\n";
            }
            myLabel.Text = label + " " + battleForged;
        }
示例#4
0
        /// <summary>
        /// Internal. Creates a new DbConnection for the Mono implementation.
        /// </summary>
        /// <returns>The database connection.</returns>
        /// <param name="file">The SQLite File to connect to</param>
        private static DbConnection ConnectMono(string file)
        {
            SqliteConnectionStringBuilder strBuild = new SqliteConnectionStringBuilder();

            strBuild.Add("URI", "file:" + file);
            SqliteConnection conn = new SqliteConnection(strBuild.ToString());

            conn.Open();
            return(conn);
        }