PhoneGap中文网

标题: 本地数据库问题 [打印本页]

作者: 野蛮人    时间: 2013-10-13 10:57
标题: 本地数据库问题
以下是官方API但是运行不成功呢。创建完查询出错在模拟器里运行的
<!DOCTYPE html>
<html>
<head>       
<title>Contact Example</title>

<script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
<script type="text/javascript" charset="utf-8">

        // 等待加载PhoneGap
        document.addEventListener("deviceready", onDeviceReady, false);
       
        // 填充数据库
        function populateDB(tx) {
                tx.executeSql('DROP TABLE DEMO IF EXISTS');
                tx.executeSql('CREATE TABLE IF NOT EXISTS DEMO (id unique, data)');
                tx.executeSql('INSERT INTO DEMO (id, data) VALUES (1, "First row")');
                tx.executeSql('INSERT INTO DEMO (id, data) VALUES (2, "Second row")');
        }
       
        // 查询数据库
        function queryDB(tx) {
                tx.executeSql('SELECT * FROM DEMO', [], querySuccess, errorCB);
        }
       
        // 查询成功后调用的回调函数
        function querySuccess(tx, results) {
                // 因为没有插入记录,所以返回值为空
                console.log("Insert ID = " + results.insertId);
                // 因为这是一条查询语句所以返回值为0
                console.log("Rows Affected = " + results.rowAffected);
                // 返回查询到的记录行数量
                console.log("Insert ID = " + results.rows.length);
        }
       
        // 事务执行出错后调用的回调函数
        function errorCB(err) {
                console.log("Error processing SQL: "+err.code);
        }
       
        // 事务执行成功后调用的回调函数
        function successCB() {
                var db = window.openDatabase("Database", "1.0", "PhoneGap Demo", 200000);
                db.transaction(queryDB, errorCB);
        }
       
        // PhoneGap加载完毕
        function onDeviceReady() {
                var db = window.openDatabase("Database", "1.0", "PhoneGap Demo", 200000);
                db.transaction(populateDB, errorCB, successCB);
        }

</script>
</head>
<body>
        <h1>Example</h1>
        <p>Database</p>
</body>
</html>
作者: 野蛮人    时间: 2013-10-13 11:06
有大神指导一下没有啊
作者: admin    时间: 2013-10-13 16:36
野蛮人 发表于 2013-10-13 11:06
有大神指导一下没有啊
  1. <!DOCTYPE HTML>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>PhoneGap-Storage</title>
  6. <link rel="stylesheet" href="../jquery.mobile-1.1.1/jquery.mobile-1.1.1.css" />
  7. <script src="../jquery.mobile-1.1.1/jquery.js"></script>
  8. <script src="../jquery.mobile-1.1.1/jquery.mobile-1.1.1.js"></script>
  9. <script type="text/javascript" charset="utf-8" src="../cordova-1.9.0.js"></script>
  10. <script type="text/javascript">
  11.         $(document).ready(function(){
  12.                         document.addEventListener("deviceready", myDeviceReadyListener, false);       
  13.         });
  14.        
  15.         function myDeviceReadyListener(){
  16.                 var database = window.openDatabase("BeifengPhoneGap", "1.1", "PhoneGapDB", 102400);
  17.                 createTable(database);
  18.                 queryTable(database);
  19.         }
  20.        
  21.         createTable = function(db){
  22.                 db.transaction(function(tx){
  23.                         tx.executeSql('CREATE TABLE IF NOT EXISTS tbl_user (id int PRIMARY KEY, user_name NVARCHAR(255),password NVARCHAR(255))');
  24.                 },function(err){
  25.                         console.log("执行失败"+err);
  26.                 },function(){
  27.                         console.log("执行成功!");
  28.                 });
  29.         }
  30.        
  31.         insertTable = function(db){
  32.                 db.transaction(function(tx){
  33.                         tx.executeSql('INSERT INTO tbl_user VALUES(?,?,?)',[7,"beifeng","beifeng"],function(tx,resultset){
  34.                                 if(resultset.rowsAffected) {
  35.                                         console.log("插入数据对表有影响!");
  36.                                 }
  37.                                 console.log("rowAffected:" + resultset.rowsAffected);
  38.                                 console.log("insertId:" + resultset.insertId);
  39.                         },function(err){
  40.                                 console.log("插入数据失败:"+err.code);
  41.                         });
  42.                 },function(err){
  43.                         console.log("执行失败"+err.code);
  44.                 },function(){
  45.                         console.log("执行成功!");
  46.                 })
  47.         }
  48.        
  49.         queryTable = function(db){
  50.                 db.transaction(function(tx){
  51.                         tx.executeSql('SELECT * from tbl_user',[],function(tx,resultset){
  52.                                 if(resultset.rowsAffected) {
  53.                                         console.log("插入数据对表有影响!");
  54.                                 }
  55.                                 console.log("rowsAffected:" + resultset.rowsAffected);
  56.                                 console.log("rows:" + resultset.rows.length);
  57.                                 for(var i = 0; i <  resultset.rows.length;i++){
  58.                                         console.log(resultset.rows.item(i).id);
  59.                                 }
  60.                         },function(err){
  61.                                 console.log("插入数据失败:"+err.code);
  62.                         });
  63.                 },function(err){
  64.                         console.log("执行失败"+err.code);
  65.                 },function(){
  66.                         console.log("执行成功!");
  67.                 })
  68.         }
  69.        
  70. </script>
  71. </head>
  72. <body>
  73.         <div data-role="page">
  74.                 <div data-role="header">
  75.                         <h1>Storage</h1>
  76.                 </div>
  77.                 <div data-role="content">
  78.                 </div>
  79.                 <div data-role="footer">
  80.                         <h4> </h4>
  81.                 </div>
  82.         </div>
  83. </body>
  84. </html>
复制代码
一个完整的例子


作者: 野蛮人    时间: 2013-10-14 09:23
admin 发表于 2013-10-13 16:36
一个完整的例子

谢谢,原来官方给的例子创建数据库是没有加字段类型




欢迎光临 PhoneGap中文网 (http://bbs.phonegap100.com/) Powered by Discuz! X3.2