`
longgangbai
  • 浏览: 7331343 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Titanium数据库SQLite的使用

 
阅读更多

    

在Titanium的Database sqllit的使用如下:

// this sets the background color of the master UIView (when there are no windows/tab groups on it)
Titanium.UI.setBackgroundColor('#000');
//创建相关的数据库

//打开相关的数据库
var db = Titanium.Database.open('mydb');

// create tab group
var tabGroup = Titanium.UI.createTabGroup();
//删除表中的数据
//db.execute('DELETE FROM DATABASETEST');
//创建相关的表
db.execute('CREATE TABLE IF NOT EXISTS DATABASETEST (userName TEXT, passwd TEXT)');

//
// create controls tab and root window
//
var win2 = Titanium.UI.createWindow({  
    title:'添加人员',
    backgroundColor:'#fff'
});
var tab2 = Titanium.UI.createTab({  
    icon:'KS_nav_ui.png',
    title:'添加人员',
    window:win2
});


var lblName = Titanium.UI.createLabel({

    text:'用户名:  ',
    
    color:"#000000",

    top : Ti.Platform.displayCaps.platformHeight/2-200,

    left: 10,

    height:60,

    width:100,

    textAlign:'right'

});

var txtName = Ti.UI.createTextField({

    top:Ti.Platform.displayCaps.platformHeight/2-200,

    left: lblName.width,

    width:Ti.Platform.displayCaps.platformWidth-lblName.width-40,

    height:60

});



var lblPassword = Titanium.UI.createLabel({
    text:' 密码:  ',
    
    color:"#000000",
    
    top : Ti.Platform.displayCaps.platformHeight/2-110,

    left: 10,

    height:60,

    width:100,

    textAlign:'right'
});
var txtPassword = Ti.UI.createTextField({
	top : Ti.Platform.displayCaps.platformHeight/2-110,

    left : lblPassword.width,

    width : Ti.Platform.displayCaps.platformWidth-lblPassword.width-40,

    height : 60
});
var btnSubmit = Ti.UI.createButton({
	title : '添加',
	top: Ti.Platform.displayCaps.platformHeight/2-10,
	left:Ti.Platform.displayCaps.platformWidth/2-110,
	width : 100,
	height : 60
});




btnSubmit.addEventListener('click',function(e){
	var userName=txtName.value;
	var passwd=txtPassword.value;
	//入参的集合
	var personArray=[userName,passwd];
	//执行插入操作
    db.execute('INSERT INTO DATABASETEST (userName, passwd ) VALUES (?, ?)', personArray);
    //db.execute("COMMIT");
    //获取影响的行数
     Titanium.API.info('JUST INSERTED, rowsAffected = ' + db.rowsAffected);
     //获取影响行数的rowid
     Titanium.API.info('JUST INSERTED, lastInsertRowId = ' + db.lastInsertRowId);
     
    //创建一个提示框    
	var a = Titanium.UI.createAlertDialog({
		title:'添加人员信息',
		message:"人员添加成功",
		buttonNames: ['确定'],
	});
	a.show();
	
});



win2.add(lblName);
win2.add(txtName);



win2.add(lblPassword);
win2.add(txtPassword);

win2.add(btnSubmit);



//
// create base UI tab and root window
//
var win1 = Titanium.UI.createWindow({  
    title:'人员信息展示',
    backgroundColor:'#fff'
});
var tab1 = Titanium.UI.createTab({  
    icon:'KS_nav_views.png',
     title:'人员信息展示',
    window:win1
});


var data = [];
function addRow(idx,nametext,passwordText)
{
	data[idx].add(Ti.UI.createLabel({
		text:nametext,
		height:20,
		width:50,
		left:10,
		right:50,
		top:10,
		textAlign:'left',
		bottom:10
	}));
	data[idx].add(Ti.UI.createLabel({
		text:passwordText,
		height:20,
		width:50,
		left:60,
		right:50,
		top:10,
		textAlign:'center',
		bottom:10
	}));
}





var header = Ti.UI.createView({
	backgroundColor:'#999',
	height:'auto'
});

var headerLabel = Ti.UI.createLabel({
	font:{fontFamily:'Helvetica Neue',fontSize:18,fontWeight:'bold'},
	text:'用户名称',
	color:'#222',
	height:20,
		width:50,
		left:10,
		right:50,
		top:10,
		textAlign:'left',
		bottom:10
});
var headerLabel2 = Ti.UI.createLabel({
	font:{fontFamily:'Helvetica Neue',fontSize:18,fontWeight:'bold'},
	text:'电子邮件',
	color:'#222',
	height:20,
		width:50,
		left:60,
		right:50,
		top:10,
		textAlign:'center',
		bottom:10
});
header.add(headerLabel);
header.add(headerLabel2);


// create table view
var tableview = Titanium.UI.createTableView({
	data:data,
	minRowHeight:80,
	headerView:header,
});

// create table view event listener
tableview.addEventListener('click', function(e)
{
	// event data
	var index = e.index;
	var section = e.section;
	var row = e.row;
	var rowdata = e.rowData;
	var msg = 'row ' + row + ' index ' + index + ' section ' + section  + ' row data ' + rowdata;
	Titanium.UI.createAlertDialog({title:'记录信息',message:msg}).show();
	
});


win1.add(tableview);

tab1.addEventListener('click',function(){
	//查询数据库的表的记录
	var rows = db.execute('SELECT * FROM DATABASETEST');
    //获取中的记录数
	Titanium.API.info('ROW COUNT = ' + rows.getRowCount());
	var index=0;
	while (rows.isValidRow())
	{
		
		data[index] = Ti.UI.createTableViewRow({hasDetail:true,height:'auto'});
		//获取数据集中记录的方式类似java jdbc
		//1.根据下表获取
		//2.根据列的名称获取
		addRow(index,rows.field(0),rows.fieldByName('passwd'));
	    Titanium.API.info('ID: ' + rows.field(0) + ' passwd: ' + rows.fieldByName('passwd') + ' COLUMN NAME ' + rows.fieldName(0));
			
		rows.next();
		index++;
	}
	tableview.setData(data);
	//关闭数据集
	rows.close();
	//db.close();  // close db when you're done to save resources

});

//
//  add tabs
//
tabGroup.addTab(tab2);  
tabGroup.addTab(tab1);  


// open tab group
tabGroup.open();

  

分享到:
评论

相关推荐

    在Titanium中通过使用BEGIN/COMMIT来加速SQLite插入操作

    在Titanium开发移动应用时,SQLite数据库是一种常用的本地数据存储方式。为了提高SQLite数据库的插入操作性能,可以利用BEGIN和COMMIT事务管理命令。本文将深入探讨如何在Titanium中利用BEGIN/COMMIT来加速SQLite的...

    Titanium资料

    在 Titanium 中,可以使用 SQLite 数据库来存储应用的数据。这份文档会涵盖如何创建数据库,定义表,执行 SQL 查询,插入、更新和删除数据,以及在应用中读取和显示这些数据。 最后,`api.json` 文件可能是一个 ...

    Titanium中文版开发手册

    同步适配器和迁移是Alloy数据管理的重要部分,它们允许应用与各种后端数据源(如SQLite、云服务等)进行交互。这部分将讲解如何配置同步适配器和执行数据库迁移。 通过阅读和理解这些文档,开发者能够全面掌握...

    Titanium开发者平台介绍

    - **Titanium.Database**:支持SQLite数据库操作,方便数据持久化。 - **Titanium.Network**:处理网络请求,包括HTTP/HTTPS等。 - **Titanium.Platform**:获取运行环境信息,比如操作系统版本、设备型号等。 - **...

    WHC_ModelSqliteKit:专业的ORM数据库操作开源库,线程安全,高级模型对象存储Sqlite开源库,真正实现一行代码操作数据库,让数据库存储变得简单专业的数据库存储解决方案,线程安全,高性能模型对象存储Sqlite开源库,实现一行代码的数据库操作,数据库存储简单

    专业的数据库存储解决方案,线程安全,高性能的模型对象存储Sqlite开源库,实现一行代码的数据库操作,简单的数据库存储 专业的数据库存储解决方案,线程安全,高性能模型对象存储Sqlite开源库,真正实现一行代码...

    jssql:围绕 Ti.Database 的 CommonJS 包装器,使访问 SQLite 数据库感觉更像是访问 JavaScript 对象

    使用这个库,您将能够使用 JavaScript 界面在您的 Titanium 应用程序中使用 SQLite 数据库。 我个人对 SQL 语法感到满意,但更喜欢使用这个库,因为它使代码更具可读性。 这不是的替代品。 如果您正在为 Titanium...

    titanium-good-practices:Titanium中文教程.Make titanium easily and powerfully

    5. **数据存储**:Titanium 支持多种数据存储方式,包括本地 SQLite 数据库、文件系统和远程数据同步。理解这些存储选项及其适用场景,可以帮助优化应用性能和用户体验。 6. **模块化开发**:Titanium 模块可以封装...

    4.4.21.1-FirmwareFinderRewrite.zip

    这个压缩包包含了一个用于处理固件的工具的更新,该工具利用Entity Framework与数据库交互,特别是针对SQL Server和SQLite,使用Newtonsoft.Json处理JSON数据,通过Ionic.Zip处理ZIP文件,还可能使用Titanium Web ...

    OsamaAbbas.TiDB:Titanium Appcelerator 的嵌入式数据存储。 基于 nedb

    您可以将其视为 Node.js 项目的 SQLite,可以与简单的 require 语句一起使用。 API 是 MongoDB 的一个子集。 您可以将其用作持久或仅内存中的数据存储。 TiDB,是 NeDB 的 Titanium Appcelerator 版本。 NeDB 使用...

    华为手机固件获取工具+v3.12.05.2

    5. **System.Data.SQLite.dll、System.Data.SQLite.EF6.dll、System.Data.SQLite.Linq.dll**:这些都是SQLite数据库的.NET实现,用于支持在Windows环境下运行SQLite数据库。这些组件可能用于本地数据库操作,如缓存...

    Pickup-Lines-android-app:带有sqlite数据库的小型取货线应用程序

    Pickup-Lines-android-app 小皮卡线应用随机皮卡线按类别划分。 该应用程序使用sqlite 数据库来存储所有的接送行和收藏夹列表。 拾取线以漂亮的动画显示。 该应用程序旨在易于使用和友好。

    titanium_samples:钛样品采集

    5. **数据管理**:学习如何使用Titanium的本地数据存储机制,如SQLite数据库,以及如何与远程服务器进行数据交换。 6. **模块开发**:如果示例中包含模块开发,那么可以学习如何创建自定义的Titanium模块,以扩展...

    华为固件下载器

    4. **System.Data.SQLite.dll、System.Data.SQLite.EF6.dll 和 System.Data.SQLite.Linq.dll**:这些是SQLite数据库的.NET实现,用于支持在没有安装完整数据库服务器的情况下进行本地数据存储。在华为固件下载器中,...

    learning-titanium:第一个学习钛的应用程序

    钛合金支持多种数据存储方式,如 SQLite 数据库、本地 JSON 文件或 Titanium 的全局对象。对于简单的应用,可以使用本地 JSON 文件来存储用户收藏的书籍信息。在 `app/Resources` 目录下创建 JSON 文件,并在控制器...

    titanium-sample-app:一个记录日常事件的应用程序(钛)

    为了保存用户的事件记录,项目可能使用 Titanium 的本地数据库模块,如 SQLite,或者利用云服务进行数据同步。数据持久化是确保即使在应用关闭后,事件记录也能被正确保存的关键部分。 6. **事件提醒与通知**: ...

    Android钛备份功能源码

    - **文件操作**:钛备份需要读取和写入应用程序的APK文件以及数据目录,这就涉及到Android的文件系统和SQLite数据库操作。 - **服务组件**:钛备份可能包含一系列后台服务,用于执行备份、恢复、同步等任务,这些...

    alloy-2.0.0.zip

    5. Alloy Models:Alloy模型与Titanium的本地数据库(例如SQLite)紧密集成,提供了ORM(对象关系映射)功能,使得JavaScript开发者可以方便地操作数据库。 6. Alloy Collections:Collections是模型的集合,通常与...

    EF Core:.NET 的对象数据库映射器-开源

    EF Core 适用于许多数据库,包括 SQL 数据库(本地和 Azure)、SQLite、MySQL、PostgreSQL 和 Azure Cosmos DB。 要安装 EF Core,请为要定位的 EF Core 数据库提供程序安装包。 本教程使用 SQLite,因为它可以在 ...

    Titanium-Appcelerator-Mobile-App:SimpleSample ToDo移动应用程序| Android | 钛制加速器

    5. **数据存储**:Todo应用通常会涉及本地数据存储,可能是SQLite数据库或Titanium的Kroll持久化对象。开发者需要了解如何在应用中创建、读取、更新和删除待办事项。 6. **事件监听与响应**:在JavaScript中,事件...

    移动互联网开发技术培训.doc

    - 包括关系型数据库如MySQL、Oracle,非关系型数据库如MongoDB、Redis,以及移动设备本地数据库如SQLite。 三、移动互联网开发流程及角色 移动互联网开发通常包括需求分析、设计、编码、测试、部署和维护等多个...

Global site tag (gtag.js) - Google Analytics