0

Ich benutze zu ein paar Tagen das Appcelerator Studio unter Windows 8.1 mit Samsung A5. Jetzt möchte ich das mysql nodejs Modul verwenden. Ich habe im Netz gelesen, dass das Verzeichnis der mysql-Kopie unter meinem Ressourcenverzeichnis kopiert. Also, meine Ordner wie das aussieht:Wie benutzt man das MySQL nodejs Modul in Appcelerator?

Projectname 
+-- Resources 
    +-- android 
    +-- mysql 
    | +-- lib 
    | | +--- ... 
    | +-- node_modules 
    | | +--- ... 
    | \- index.js 
    \- app.js 

Und hier ist mein app.js:

var mysql = require('mysql'); 
    var connection = mysql.createConnection({ 
     host: 'domain', 
     user: 'user', 
     password: 'password', 
     database: 'database' 
    }); 

    connection.connect(function (err) { 
     if (err) { 
      alert("Error on mysql connect: " + err.stack); 
      return; 
     } 
    }); 

    alert("Mysql connect is correct."); 

    connection.end(); 

Das Projekt wird auf Samsung installiert, aber einen Fehler beim Start werfen: mysql-Modul wird nicht gefunden .

Was ist falsch? Bitte, hilf mir!

Vielen Dank für Ihre Hilfe und Entschuldigung mein Englisch!

+0

„allgemeine“ Antwort über mysql hinzugefügt, aber auch hinzugefügt, wie Sie Ihre MySQL-Knotenmodul arbeiten kann :) –

Antwort

2

Es gibt keine solche Sache wie MySQL auf iOS/Android in Titanium. Die Datenbank, die dort ist, ist SQLite. Sie können über SQLite in der documentation of Appcelerator lesen.

Es ist auch kein Modul, sondern eine good old API. Beispiel (aus dem docs)

var db = Ti.Database.open('TiBountyHunter'); 
db.execute('CREATE TABLE IF NOT EXISTS fugitives(id INTEGER PRIMARY KEY, name TEXT, captured INTEGER, url TEXT, capturedLat REAL, capturedLong REAL);'); 
db.close(); 

Wenn Sie ein Modul mit dem Namen haben mysql Sie sollten es in den lib Ordner setzen, um es an die Arbeit. Dies kann jedoch schwierig sein, wenn Knotenabhängigkeiten vorhanden sind. Sie können dann mit Titaniumifier

+0

** Dank Rene für Ihre Antwort! ** Die „mysql“ ist eine Rechts Knoten-Modul Hier ist die URL: [link] (https://www.npmjs.com/package/mysql) Im mysql dir gibt es eine index.js, eine 'lib' und eine 'node_modules' Verzeichnisse. Ich habe das Verzeichnis mysql in das Verzeichnis Resources/lib kopiert, aber es funktioniert nicht. – Johnny

+0

haben Sie in Titaniumfier gesucht? Titanium enthält keinen Knoten. Von Ihrem MySQL-Modul verwendet alle Abhängigkeiten müssen sie auch enthalten sein. –

+0

Also, ich verwende kein Titanium. Ich benutze Appcelerator Studio, und dies ist meine Nodejs erkennen und konfigurierbar in Hilfe/Einstellungen. Und ja, ich sah die Titaniumfier, aber ich weiß nicht, wie man sich von meiner Android-App zu einer MySQL-Datenbank verbindet. – Johnny