Ergebnis 1 bis 4 von 4
  1. #1
    freakyBOi ist offline Jungspund
    registriert
    20-11-2010
    Beiträge
    10

    Daten aus SQLite Db in Array speichern klappt nicht

    Ich hab mal wieder ein Problem...

    Schon seit über 3 Stunden versuche ich Daten, die ich aus der Html5-Browserdb hole in einem Array abzuspeichern.
    Auf dieses Array möchte ich dann von einer anderen Funktion aus zugreifen. Jedoch existiert das Array dann nicht mehr bzw. alle Elemente wurden gelöscht .-(

    Code:
    var sendenArray;
    var reiseInfos;
    
    function getReisedata(){
    sendenArray=new Array('1');
    reiseInfos = new Array();
    	for(n=0;n<sendenArray.length;n++){
    		getReiseinfos(sendenArray[n]);
    	}
    		alert(reiseInfos.length);
    }
    
    
    
    function getReiseinfos(id){
    			if(mydb==null){
    				initDb();
    			}
    			
    			var query = "SELECT * FROM reisen where reisenid="+id;
    			
    			try {
                   mydb.transaction(
                   function(transaction) {
     
                      transaction.executeSql(query,
                      [ ],
                      function (transaction, results) {
    					
                         for (var i=0; i<results.rows.length; i++) { 
    						 
    						 var row = results.rows.item(i);
    						 var id=row['reisenid'];
    						 var reiseziel = row['reiseziel'];
    												 
    						 var reise = new Array();
    						 reise.push(reiseziel);
    											
    						 reiseInfos.push(reise);						
                         }
    					 
                      }, function (transaction, error) {
                         document.getElementById("status").innerHTML = "Sth. went wrong. Failure code: " + error.code + "<br />Message: " + error.message;
                      });
                   });
                } catch(e) {
                   document.getElementById('status').innerHTML = "<b style='color: red;'>[ERROR]</b> Unable to select data from the db "+e+".";
                }
    			
    	}
    Noch einige Erklärungen zu dem Code: die Funktion getReiseinfos() holt die Daten einer abgespeicherten Reise für eine bestimmte id.
    Das sendenArray() enthält die Ids für die Reisen deren Infos ich aus der Datenbank holen will. Jede Reise hat mehr Attribute als nur das Reiseziel, aber wegen der Übersichtlichkeit habe ich nur dieses Attribut im Quellcode stehen lassen. Deswegen soll jede Reise als Array in das Array reiseInfos gespeichert werden.

    Nun habe ich folgendes Problem: Die Funktion getReisedata alertet mir 0 als Länge des Arrays reiseInfos. Wenn ich genau denselben alert in der Funktion getReiseinfos durchführe wird mir 1 angezeigt.
    Warum werden die Elemente des Arrays reiseInfos gelöscht nachdem die Funktion getReiseinfos() beendet wurde? Was kann ich dagegen tun?

    Danke schon mal für Vorschläge.

  2. #2
    Avatar von Albu
    Albu ist offline Foren-Gott
    registriert
    04-07-2001
    Beiträge
    13.501

    AW: Daten aus SQLite Db in Array speichern klappt nicht

    Zitat Zitat von freakyBOi Beitrag anzeigen
    Warum werden die Elemente des Arrays reiseInfos gelöscht nachdem die Funktion getReiseinfos() beendet wurde? Was kann ich dagegen tun?
    Die Elemente werden nicht gelöscht, sie sind vorhanden - nur nicht zum Zeitpunkt Deines externen Alerts. Die Daten werden asynchron abgerufen, Dein synchrones Alert verifiziert nur, dass Dein Array vor der Abfrage der Daten tatsächlich leer ist.
    1. Get people to play Space Taxi
    2. Sell real estates on neptun
    3. Profit!

    IE is not a browser, it is a scream.


    Outside of a dog, a book is man's best friend. Inside of a dog, it's too dark to read.

  3. #3
    freakyBOi ist offline Jungspund
    registriert
    20-11-2010
    Beiträge
    10

    AW: Daten aus SQLite Db in Array speichern klappt nicht

    Und gibts irgendeine Möglichkeit in der Funktion getReisedata() festzulegen, dass zuerst die Daten in das Array gespeichert werden und erst dann der Alert ausgeführt wird?

  4. #4
    Avatar von Albu
    Albu ist offline Foren-Gott
    registriert
    04-07-2001
    Beiträge
    13.501

    AW: Daten aus SQLite Db in Array speichern klappt nicht

    Zitat Zitat von freakyBOi Beitrag anzeigen
    Und gibts irgendeine Möglichkeit in der Funktion getReisedata() festzulegen, dass zuerst die Daten in das Array gespeichert werden und erst dann der Alert ausgeführt wird?
    Nö, da nicht. Du musst beim Event-Handler ansetzen und das bedeutet Du musst Dich mal einlesen, was asynchron heißt.
    1. Get people to play Space Taxi
    2. Sell real estates on neptun
    3. Profit!

    IE is not a browser, it is a scream.


    Outside of a dog, a book is man's best friend. Inside of a dog, it's too dark to read.

Ähnliche Themen

  1. Antworten: 4
    Letzter Beitrag: 10-10-2008, 16:15
  2. Zugriff auf Array klappt nicht PHP + JS
    Von headbuster im Forum JavaScript
    Antworten: 4
    Letzter Beitrag: 27-03-2008, 15:03
  3. Antworten: 8
    Letzter Beitrag: 18-10-2006, 18:02
  4. Suchen eines wertes in einem array klappt nicht
    Von petz_e im Forum Serverseitige Programmierung
    Antworten: 3
    Letzter Beitrag: 27-05-2006, 15:13
  5. Antworten: 2
    Letzter Beitrag: 06-01-2001, 20:00

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •