`
我叫张大熊
  • 浏览: 1196 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

本地数据库存储JS类

阅读更多

//js调用本地数据库主JS文件
var HD = {
	is_db : null,
	uid : null,
	ukey : null,
	shortName : 'hd',
	version : '1.0',
	displayName : 'hd_2345',
	maxSize : 100000,
	data : null,
	other : null,
	login : null,
	index : null,
	// 创建数据库
	initDatabase : function() {
		try {
			if (!window.openDatabase) {
				alert('Databases are not supported in this browser.');
			} else {
				DEMODB = openDatabase(this.shortName, this.version,
						this.displayName, this.maxSize);
				this.createUserTable();
				this.createMyWebSite();
				this.createMyApp();
				this.createCitySite();
				this.createMyFenlei();
			}
		} catch (e) {
			if (e == 2) {
				// Version number mismatch.
			} else {
			}
			return;
		}
	},
	createUserTable : function() {
		DEMODB
				.transaction(function(transaction) {
					var sql = "CREATE TABLE IF NOT EXISTS hd_users("
							+ "id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,"
							+ "uid INTEGER NOT NULL,passid INTEGER NOT NULL,uname TEXT NOT NULL,ukey TEXT NOT NULL,"
							+ "uemail TEXT NULL,city TEXT NULL)";
					transaction.executeSql(sql, [], HD.nullDataHandler,
							HD.errorHandler);
				});
	},
	createMyWebSite : function() {
		DEMODB.transaction(function(transaction) {
			var sql = "CREATE TABLE IF NOT EXISTS hd_users_website("
					+ "id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,"
					+ "uid INTEGER NOT NULL,content TEXT NULL)";
			transaction
					.executeSql(sql, [], HD.nullDataHandler, HD.errorHandler);
		});
	},
	createMyApp : function() {
		DEMODB.transaction(function(transaction) {
			var sql = "CREATE TABLE IF NOT EXISTS hd_users_app("
					+ "id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,"
					+ "uid INTEGER NOT NULL,content TEXT NULL)";
			transaction
					.executeSql(sql, [], HD.nullDataHandler, HD.errorHandler);
		});
	},
	createMyFenlei:function(){
		DEMODB.transaction(function(transaction) {
			var sql = "CREATE TABLE IF NOT EXISTS hd_users_fenlei("
					+ "id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,"
					+ "uid INTEGER NOT NULL,content TEXT NULL)";
			transaction
					.executeSql(sql, [], HD.nullDataHandler, HD.errorHandler);
		});		
	},
	createCitySite : function() {
		DEMODB.transaction(function(transaction) {
			var sql = "CREATE TABLE IF NOT EXISTS hd_city_site("
					+ "id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,"
					+ "uid INTEGER NULL,content TEXT NULL)";
			transaction
					.executeSql(sql, [], HD.nullDataHandler, HD.errorHandler);
		});
	},
	errorHandler : function(transaction, error) {
		// Error is a human-readable string.
		return false;
	},
	nullDataHandler : function() {
	},
	insert : function(data, table_name) {
		DEMODB.transaction(function(transaction) {
			var sql_addsub_name = '';
			var sql_add_var_name = "";
			for ( var k in data) {
				sql_addsub_name += " `" + k + "` ,";
				sql_add_var_name += " '" + data[k] + "' ,";
			}

			sql_addsub_name = sql_addsub_name.substr(0,
					(sql_addsub_name.length - 1));
			sql_add_var_name = sql_add_var_name.substr(0,
					(sql_add_var_name.length - 1));
			var sqlAdd = "INSERT INTO " + table_name + " ( " + sql_addsub_name
					+ ") VALUES (" + sql_add_var_name + ")";
			// 输出sql语句
			transaction.executeSql(sqlAdd, [], HD.nullDataHandler,
					HD.errorHandler);
		});
	},
	update : function(where, data, table_name) {
		DEMODB.transaction(function(transaction) {
			var sql = "";
			var edit_sql = "";
			for ( var k in data) {
				edit_sql += "`" + k + "` = " + "'" + data[k] + "' ,";
			}
			edit_sql = edit_sql.substr(0, (edit_sql.length - 1));
			sql = "UPDATE `" + table_name + "` SET " + edit_sql + " WHERE "
					+ where;
			transaction
					.executeSql(sql, [], HD.nullDataHandler, HD.errorHandler);
		});
	},
	deletedata : function(table_name, where) {
		DEMODB.transaction(function(transaction) {
			var sqlDel = "DELETE FROM " + table_name + " WHERE " + where;
			transaction.executeSql(sqlDel, [], HD.nullDataHandler,
					HD.errorHandler);
		});
	},
	deleteall : function(table_name) {
		DEMODB.transaction(function(transaction) {
			var sql = 'DELETE FROM ' + table_name;
			transaction
					.executeSql(sql, [], HD.nullDataHandler, HD.errorHandler);
		});
	},
	query : function(sql) {
		DEMODB.transaction(function(transaction) {
			transaction.executeSql(sql, [], HD.dataSelectHandler,
					HD.errorHandler);
		});
	},
	dropTable : function(table_name) {
		DEMODB.transaction(function(transaction) {
			var sql = "DROP TABLE " + table_name;
			transaction
					.executeSql(sql, [], HD.nullDataHandler, HD.errorHandler);
		});
	},
	dropDatabase : function(database) {
		DEMODB.transaction(function(transaction) {
			var sql = "DROP DATABSE " + database;
			transaction
					.executeSql(sql, [], HD.nullDataHandler, HD.errorHandler);
		});
	}

};
HD.initDatabase();
 
1
0
分享到:
评论

相关推荐

    js 访问 sqlite数据库

    总结,JavaScript访问SQLite数据库主要依赖于Web SQL(已废弃)、IndexedDB(推荐)或在Node.js环境下的特定库。理解这些技术的工作原理,掌握基本的数据库操作和异步编程技巧,以及关注性能和安全,是成功实现这一...

    HTML5 JS API教程 本地数据库

    HTML5 JS API 教程——本地数据库 在现代网页开发中,HTML5的引入为开发者提供了许多新的功能和API,其中本地存储能力是其一大亮点。传统的Web应用依赖于Cookie或者HTTP Session来存储用户数据,但这些方法都有其...

    远程抓取网页到本地数据库

    5. **数据入库**:最后,将提取到的文章标题和内容存储到本地数据库中。 #### 四、关键代码解释 下面是对关键代码的详细解释: - **打开数据库**:使用ADO技术连接Access数据库。 ```javascript var ...

    android连接本地mysql数据库实现增删查改-毕业设计项目

    在Android应用开发中,连接并操作本地MySQL数据库是一项常见的需求,尤其是在进行复杂的业务逻辑或需要持久化存储数据的毕业设计项目中。本项目主要展示了如何使用Android与MySQL数据库交互,实现资源的添加、删除、...

    原生JS实现购物车本地存储

    利用原生js和本地存储技术实现购物车功能

    学生学籍管理系统(连接本地数据库使用)包含工程文件

    本系统特别之处在于其连接了本地数据库,确保了数据的安全存储和高效检索,对于学校日常管理和教学活动的顺利进行具有重要意义。 首先,我们要理解本地数据库的概念。本地数据库是指安装在用户计算机上的数据库管理...

    基于Java和JavaScript的HTML小说爬虫到本地数据库与硬盘存储设计源码

    本项目是一个基于Java和JavaScript开发的HTML小说爬虫系统,旨在将小说内容爬取到本地数据库并存储在硬盘上。系统包含41个文件,其中Java源文件21个,JavaScript文件5个,Markdown文件3个,HTML文件3个,XML文件2个...

    HTML5-本地数据库.rar

    HTML5是现代网页开发的重要标准,它引入了许多新特性,其中本地数据库功能是提升Web应用程序离线可用性和数据存储能力的关键。这个“HTML5-本地数据库.rar”压缩包可能包含了关于如何利用HTML5的离线存储机制来创建...

    java实现本地读取图片存储到数据库中并在html网页显示

    在本文中,我们将深入探讨如何使用Java实现在本地读取图片并将其存储到数据库中,之后再通过HTML页面显示这些图片。这个过程涉及到的主要技术包括Java编程、数据库操作(特别是MySQL)以及前后端交互。 首先,我们...

    Unity使用JavaScript访问SQLite本地数据库1

    Unity 使用 JavaScript 访问 SQLite 本地数据库 Unity 是一个功能强大且广泛使用的游戏引擎,而 SQLite 是一个轻量级的关系数据库管理系统,两者结合可以实现游戏中数据的存储和管理。在本文中,我们将学习如何...

    ASP带数据库无限级分类

    这可以通过在服务器端缓存或者使用客户端的本地存储技术实现。 总的来说,"ASP带数据库无限级分类"是一个涉及到数据库设计、ASP编程、前端交互和性能优化的综合课题。实现这样一个系统需要对ASP、数据库操作和用户...

    jscript访问sqlite本地数据库示例

    标题 "jscript访问sqlite本地数据库示例" 描述了如何使用JavaScript(jscript)与SQLite本地数据库进行交互,这是一个常见的Web开发技术应用场景。SQLite是一种轻量级的、自包含的数据库引擎,它允许开发者在无需...

    html5使用本地sqlite数据库

    HTML5的离线存储功能是通过一种叫做Web Storage的技术实现的,其中SQLite数据库是其中的一部分,主要用于在用户浏览器中存储大量结构化数据。这个技术在移动应用开发中尤其有用,尤其是当应用程序需要在离线状态下...

    javascript 购物车 有数据库

    javascript 购物车 数据库 根据用户的登录状态,如果用户没有登录,则用户加入到购物车中的产品,存储到session中;如果用户登录,则将用户购物车中的产品存储到数据库中或者从数据库中读取数据显示购物车列表。

    图片、文件上传、数据库连接工具类

    在给定的"图片、文件上传、数据库连接工具类"压缩包中,很可能包含了实现这些功能的Java类。这些类可能包含文件上传的控制器、数据库连接池配置、事务管理逻辑以及对JDBC的封装。通过阅读和理解这些代码,开发者可以...

    JavaScript_浏览器_键值对_非关系型本地数据库_存储模块_主流设备全兼容_极高性能_高易用

    JavaScript_浏览器_键值对_非关系型本地数据库_存储模块_主流设备全兼容_极高性能_高易用_LiteStorage

    利用html5本地数据库,实现自定义背景图片。

    在本案例中,“利用html5本地数据库,实现自定义背景图片”这一主题,将深入探讨如何利用HTML5的Web SQL(SQLite)数据库来存储用户选择的背景图片,以实现个性化的网页背景设置。 首先,我们需要了解HTML5的Web ...

    Lowdb一个小型本地JSON数据库支持NodeElectron和浏览器

    Lowdb是一个轻量级的本地JSON数据库,适用于JavaScript环境,包括Node.js、Electron以及浏览器。它以其简洁的API和易于理解和使用的设计而受到开发者们的欢迎。Lowdb的核心是基于Lodash,一个强大的JavaScript实用...

    js 操作 access数据库

    在标题“js操作access数据库”中,我们讨论的是如何使用JavaScript与Microsoft Access数据库进行交互。 Access数据库是微软开发的一种关系型数据库管理系统,使用Jet引擎,适用于小型到中型企业级的数据存储和管理...

Global site tag (gtag.js) - Google Analytics