Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hallo liebe Fachinformatiker Community,

ich hätte bezüglich Javascript ein paar Probleme.

Ich soll Daten aus einer Datenbank in ein Array schreiben und dieses dann nachfolgend der Reihe nach ausgeben. Diese ausgegebenen Werte sollen in Variablen gespeichert werden, damit ich sie später in HEX konvertieren und dann in eine Karte schreiben kann.

Hier der Code:

var db = new DB("Datenbank", "Tabelle","User", "PW");
    var rows = db.execute("Select Card.ID, Person.Name, Person.Accountnumber, AccountBooking.Amount, AccountBooking.CreateDate," +
                          " AccountBooking.ID as TransactionID, Terminal.Location " +
                          "from Card " +
                          "join Person on Card.OwnerID = Person.ID " +  
                            "left join AccountBooking on Card.ID = AccountBooking.CardID " +
                            "left join Terminal on Accountbooking.TerminalID = Terminal.ID " +
                            "where Person.ID = " + personID +  " and Card.Locked = 'False'");
    log("rows: " + rows.length);


    for (var i = 0; i <= rows.length; i++){
        var cols = rows;
        var temp = "";
        for (var key in cols) {
            temp = temp + key + " = " + cols[key] +  " | ";
        }
        log("Items:" + i +" " + temp);
    }
   
    var cardID = rows[0]["ID"];
    var name = rows[1]["Name"];
    var accountnumber = rows[2]["Accountnumber"];
    var amount = rows[3]["Amount"];
    var datum = rows[4]["CreateDate"];
    var transaktionsID = rows[5]["TransactionID"];
    var ort = rows[6]["Location"];

Die Datenbankabfrage ist soweit fertig, nun muss ich noch die Daten in die Variable bekommen..

Ich hoffe ihr könnt mir schnell helfen.

 

Mit freundlichen Grüßen

Hendrik

Was genau soll denn gespeichert werden? Was soll denn in HEX umgewandelt werden?
Für mich ist nicht ganz klar, was du eigentlich erreichen möchtest.

Darüber hinaus sieht die Zeile 

var cols = rows;

nicht richtig aus. Das müsste wohl

var cols = rows[i];

heißen. 

Ich bin zwar kein JavaScript-Experte aber in JavaScript gibt es doch mit Sicherheit eine Foreach-Schleife. Dann brauchst du auch nicht mit den ganzen indexierten Kram rumhantieren.

Außerdem ist mir nicht klar, was die Variablen:

var cardID = rows[0]["ID"];
var name = rows[1]["Name"];
var accountnumber = rows[2]["Accountnumber"];
var amount = rows[3]["Amount"];
var datum = rows[4]["CreateDate"];
var transaktionsID = rows[5]["TransactionID"];
var ort = rows[6]["Location"];

bringen sollen. Du gehst die Tabelle nun quasi Diagonal durch und wenn du weniger als sechs Zeilen hast, erhält du eine "Array Out of Bounds"-Exception.

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.