PhoneGap中文网

 找回密码
 立即注册
查看: 20563|回复: 3
打印 上一主题 下一主题

本地数据库问题

[复制链接]

4

主题

25

帖子

247

积分

中级会员

Rank: 3Rank: 3

积分
247
跳转到指定楼层
楼主
发表于 2013-10-13 10:57:01 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
以下是官方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>
回复

使用道具 举报

4

主题

25

帖子

247

积分

中级会员

Rank: 3Rank: 3

积分
247
地板
 楼主| 发表于 2013-10-14 09:23:12 | 只看该作者
admin 发表于 2013-10-13 16:36
一个完整的例子

谢谢,原来官方给的例子创建数据库是没有加字段类型
回复 支持 反对

使用道具 举报

493

主题

2035

帖子

6894

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
6894
板凳
发表于 2013-10-13 16:36:57 | 只看该作者
野蛮人 发表于 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>
复制代码
一个完整的例子

回复 支持 反对

使用道具 举报

4

主题

25

帖子

247

积分

中级会员

Rank: 3Rank: 3

积分
247
沙发
 楼主| 发表于 2013-10-13 11:06:30 | 只看该作者
有大神指导一下没有啊
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

ionic4视频教程

Archiver|手机版|小黑屋| PhoneGap中文网 ( 京ICP备13027796号-1 )  

GMT+8, 2024-11-23 15:45 , Processed in 0.064874 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表