Example #1
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public IList <RDatabase> GetDatabases()
        {
            var          list = new List <RDatabase>();
            const string sql  = "select * from [RDatabase] order by CatalogName";

            using (var conn = BootDb.GetConnection())
            {
                var cmd = conn.CreateCommand();
                cmd.CommandText = sql;
                cmd.CommandType = CommandType.Text;
                if (conn.State != ConnectionState.Open)
                {
                    conn.Open();
                }
                using (var reader = cmd.ExecuteReader(CommandBehavior.CloseConnection))
                {
                    while (reader.Read())
                    {
                        list.Add(PopulateRDatabase(reader));
                    }
                }
            }

            return(list);
        }
Example #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public RDatabase GetDatabase(Guid id)
        {
            const string sql      = "select * from [RDatabase] where Id=@Id";
            RDatabase    database = null;

            using (var conn = BootDb.GetConnection())
            {
                var cmd = conn.CreateCommand();
                cmd.CommandText = sql;
                cmd.CommandType = CommandType.Text;
                var pId = cmd.CreateParameter();
                pId.ParameterName = "Id";
                pId.Value         = id;
                pId.DbType        = DbType.Guid;
                cmd.Parameters.Add(pId);
                if (conn.State != ConnectionState.Open)
                {
                    conn.Open();
                }
                using (var reader = cmd.ExecuteReader(CommandBehavior.CloseConnection))
                {
                    if (reader.Read())
                    {
                        database = PopulateRDatabase(reader);
                    }
                }
            }

            return(database);
        }
Example #3
0
        // TODO:如果DataSource或UserID或Password或Profile有变化则需要刷新数据库上下文
        /// <summary>
        ///
        /// </summary>
        /// <param name="id"></param>
        /// <param name="dataSource"></param>
        /// <param name="description"></param>
        public void UpdateDatabase(Guid id, string dataSource, string description)
        {
            const string sql = "update [RDatabase] set DataSource=@DataSource,Description=@Description where Id=@Id";

            using (var conn = BootDb.GetConnection())
            {
                var cmd = conn.CreateCommand();
                cmd.CommandText = sql;
                cmd.CommandType = CommandType.Text;
                cmd.Parameters.Add(CreateParameter(BootDb, "Id", id, DbType.Guid));
                cmd.Parameters.Add(CreateParameter(BootDb, "DataSource", dataSource, DbType.String));
                cmd.Parameters.Add(CreateParameter(BootDb, "Description", string.IsNullOrEmpty(description) ? DBNull.Value : (object)description, DbType.String));
                if (conn.State != ConnectionState.Open)
                {
                    conn.Open();
                }
                cmd.ExecuteNonQuery();
            }
        }