0

我使用了几天的Windows 8.1下的Appcelerator Studio与三星A5。现在我想使用mysql nodejs modul。我参与了网络的复制mysql副本的目录到我的资源目录下。 所以,我的文件夹看起来像这样:如何在Appcelerator中使用正确的MySQL nodejs模块?

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

这里是我的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(); 

该项目安装在三星,而是扔在开始的错误:mysql的模块未找到。

什么是错的。 请帮帮我!

感谢您的帮助和对不起我的英语!

+0

添加有关mysql的“一般”答案,但也添加了如何让您的mysql节点模块工作:) –

回答

2

在Titanium中没有iOS/Android上的MySQL。存在的数据库是SQLite。你可以在documentation of Appcelerator中阅读关于SQLite的内容。

它也不是一个模块,而是一个good old API。示例(从文档)

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(); 

如果你有一个名为mysql模块,你应该把它放在lib文件夹才能正常工作。但是,如果它具有节点依赖性,则这可能很困难。然后,您可以使用Titaniumifier

+0

**感谢雷内为您的答案!** “mysql”是合法的nodejs模块。这里是URL:[链接](https://www.npmjs.com/package/mysql) 在mysql目录中有一个index.js,一个'lib'和一个“node_modules”目录。我将mysql目录复制到Resources/lib目录,但它不起作用。 – Johnny

+0

你看过钛金属?钛不包含节点。你的mysql模块使用任何依赖关系,他们也需要包括在内。 –

+0

所以,我不使用钛。我使用Appcelerator Studio,这是识别我的nodejs并可在帮助/首选项中配置。 是的,我看到了Titaniumfier,但我不知道如何使用我的Android应用程序连接到MySQL数据库。 – Johnny