Mysql
 sql >> база данни >  >> RDS >> Mysql

изтегляне на стойности на sql таблица за повторна употреба офлайн

За FLASH:

За да запазите данни локално с Flash, можете да използвате един от 3 начина:кеш на Flash Player, SharedObject , или FileReference обект. А за вашия локален файл забравете PHP и MySQL, защото говорим само за данните, които сте получили (json, xml, txt, ...).

- Кеш на Flash Player:

Трябва да знаете, че по подразбиране flash player поставя локално копие на вашия файл в своя кеш. Можете да използвате това локално копие като офлайн източник на вашите данни, но тук не забравяйте, че flash player не е запазил последната версия на вашия отдалечен файл, а първата и този http://www.example.com/data.php е различно от http://www.example.com/data.php?123 дори и да е един и същ файл! За повече подробности относно това, разгледайте моя отговор на този въпрос .

- SharedObject :

Не знам размера на заредените ви данни, но както каза Adobe за SharedObject :

Мисля, че това не се използва за големи файлове и не се препоръчва да се съхраняват файлове, а някои прости данни. Разбира се, като бисквитка за браузъра, SharedOject се нуждае от оторизация на потребителя за запис на данни на твърдия диск и потребителят може да ги изтрие по всяко време.

- Препратка към файла:

Мисля, че това е най-добрият начин да направите това, което търсите. Трябва да знаете, че за да запазите файл с помощта на FileReference, вашият потребител е поканен да избере файл за запис на данни и да го прочете за втори път. Така че, ако не искате никакво взаимодействие на потребител с вашето приложение, забравете този начин.

FileReference, използвайки пример:

var local_file_name:String = 'local.data',
    file:FileReference = new FileReference(),
    local_file_filter:FileFilter = new FileFilter('local data file', '*.data'),
    remote_data_url:String = 'http://www.example.com/data.php',
    url_request:URLRequest,
    url_loader:URLLoader,       
    connected:Boolean = true;

if(connected){
    get_remote_data();
} else {
    get_local_data();
}

function get_remote_data(): void {
    //we use a param to be sure that we have always the last version of our file
    url_request = new URLRequest(remote_data_url + ('?' + new Date().getTime()));
    url_loader = new URLLoader();
    url_loader.addEventListener(Event.COMPLETE, on_data_loaded);
    url_loader.load(url_request);           
}

function get_local_data(): void {
    // show the select dialog to the user to select the local data file
    file.browse([local_file_filter]);
    file.addEventListener(Event.SELECT, on_file_selected);          
}

function on_data_loaded(e:Event): void {
    var data:String = e.target.data;
    // if the remote data is successfully loaded, save it on a local file 
    if(connected){
        // show the save dialog and save data to a local file
        file.save(data, local_file_name);
    }
    // use your loaded data
    trace(data);            
}

function on_file_selected(e:Event): void {
    file.addEventListener(Event.COMPLETE, on_data_loaded);
    file.load();
}

Този код ще се показва всеки път, когато диалогов прозорец за запазване на потребителя, разбира се, това е само извадка, трябва да го адаптирате към вашите нужди...

РЕДАКТИРАНЕ

За ВЪЗДУХ:

С AIR нямаме нужда от обект FileReference, вместо това използваме Файл и FileStream обект за запазване на данни :

// for example, our local file will be saved in the same dir of our AIR app
var file:File = new File( File.applicationDirectory.resolvePath('local.data').nativePath ),
    remote_data_url:String = 'http://www.example.com/data.php',
    data_url:String = remote_data_url,
    url_request:URLRequest,
    url_loader:URLLoader,       
    connected:Boolean = true;

if(!connected){
    // if we are not connected, we use the path of the local file
    data_url = file.nativePath;     
}

load_data();

function load_data(): void {
    url_request = new URLRequest(data_url);
    url_loader = new URLLoader();
    url_loader.addEventListener(Event.COMPLETE, on_data_loaded);
    url_loader.load(url_request);           
}

function on_data_loaded(e:Event): void {
    var data:String = e.target.data;
    if(connected){          
        // save data to the local file
        var file_stream:FileStream = new FileStream();
            file_stream.open(file, FileMode.WRITE);
            file_stream.writeUTFBytes(data);
            file_stream.close();
    }
    trace(data);            
}

Надявам се, че това може да помогне.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да покажа стойността на променлива в командния ред в MySQL?

  2. Защо Magento не успява да спаси клиент след генериране на идентификационен номер?

  3. Не мога да се свържа с локален MySQL сървър чрез сокет '/tmp/mysql.sock

  4. MIN() – Намерете минималната стойност в колона в MySQL

  5. MySQL през 2018 г.:Какво има в 8.0 и други наблюдения