我正在使用 phonegap Android 平台。我在资产文件夹中有 mydatabase.sql 文件。我不知道如何处理那个 sql 文件。基本上我必须使用 javascript 加载这个 sql 文件。这是 mydatabase.sql 中的一些数据:
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
CREATE TABLE `media` (
`Id` int(11) NOT NULL auto_increment,
`Part` int(11) NOT NULL,
`No` int(11) NOT NULL,
`Title_EN` varchar(100) collate utf8_unicode_ci default NULL,
`Year` int(24) default NULL,
PRIMARY KEY (`Id`)
\\
\\another values
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=649 ;
--
-- Dumping data for table `media`
--
INSERT INTO `media` (`Id`, `Part`, `No`, `Title_Hari`, `Type`, `Artist_EN`, `Track`, `Year`) VALUES
(1, 1, 1, 'Sant Sangeet' 'Cassette', NULL, NULL, NULL, 7, NULL),
\\
\\
\\ another values
CREATE TABLE `media1` (
\\ create another table
INSERT INTO `media1`
\\ insert data
\\
\\
mydatabase.sql 包含创建表方法和向该表插入值。
在js中尝试了一些方法:
演示.JS:
var db;
function ReadFile() {
console.log("call database");
try
{
if (window.openDatabase)
{
db = openDatabase("../sql/mydatabase.sql", "1.0", " Database", 200000);
console.log("open database");
db.transaction (function (transaction)
{
console.log("transaction database");
var sql = "SELECT * FROM media";
transaction.executeSql (sql, undefined,
function (transaction, result)
{
alert(JSON.stringify(result));
console.log(JSON.stringify(result));
}, function(error){
console.log("error");
});
});
}
else
{
console.log("else database");
// Handle no database support
}
}
catch(err)
{
console.log("error database");
// Handle error
}
}
输出:
call database
open database
transaction database
no such a tabke media
error
所以我的问题是如何在我的应用程序中导入它或如何处理这个 sql 数据库以及在导入这个数据库之后,如何执行 CRUD 操作并将查询传递给它。请推荐一些教程。任何帮助,将不胜感激!!
谢谢。