ios中Pldatabase的用法(2)
@implementation AppGlobal static NSString* strHostName;
static NSString* strVersion;
static PLSqliteDatabase* dbHelper;
static CConfigSetting* configSetting; + (BOOL) Init
{ strHostName = HTTPURLPREFIX; strVersion = @"1.01"; NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *dbPath = [[paths objectAtIndex:] stringByAppendingPathComponent:@"TaxOffice.db"];
dbHelper = [[PLSqliteDatabase alloc] initWithPath:dbPath]; NSLog(@"TaxOffice.db path = %@",dbPath);
if (![DBInit initDB])
return FALSE; configSetting = [[CConfigSetting alloc] init];
return TRUE;
} + (void) DeInit
{
[dbHelper close];
[dbHelper release];
[configSetting release];
} + (NSString*) DefaultHost
{
return strHostName;
} + (NSString*) Version
{
return strVersion;
} + (PLSqliteDatabase*) DbHelper
{
return dbHelper;
} + (CConfigSetting*) ConfigSetting
{
return configSetting;
} @end
+(BOOL) initDB
{
PLSqliteDatabase* idb = [AppGlobal DbHelper]; if (![idb open]) {
return FALSE;
} // 配置信息表
if (![idb tableExists:@"Config"]) {
if (![idb executeUpdate: @"CREATE TABLE Config(key integer,value text)"])
return FALSE;
} // 客户信息表
if (![idb tableExists:@"Customers"]) {
NSString *strSql = @"CREATE TABLE Customers(id integer PRIMARY KEY autoincrement not null,"
"idno text, name text, tel text, remark text)";
if (![idb executeUpdate: strSql]) {
return FALSE;
}
} // 商品信息表
if (![idb tableExists:@"Products"]) {
NSString *strSql = @"CREATE TABLE Products(id integer PRIMARY KEY autoincrement not null,"
"idno text, name text, type integer, price real,"
"amount real, units text, remark text)";
if (![idb executeUpdate: strSql]) {
return FALSE;
}
} // return TRUE;
}
ios中Pldatabase的用法(2)的更多相关文章
- ios中Pldatabase的用法
将PLDATABASE加入到工程 下载PLDatabase 的dmg文件 将PLDatabase的framework复制到工程根目录在工程中加入该framework使用该framework进行数据库操 ...
- ios中Pldatabase的用法(3)
#import "ViewController.h" @interface ViewController () @property(nonatomic,retain)PLSqlit ...
- ios中Pldatabase的用法(4)
封装成DAO@implementation SqlHelper +(BOOL)InsertSql:(NSString *)sql paramet:(NSMutableDictionary *)parm ...
- iOS中block的用法 以及和函数用法的区别
ios中block的用法和函数的用法大致相同 但是block的用法的灵活性更高: 不带参数的block: void ^(MyBlock)() = ^{}; 调用的时候 MyBlock(); 带参数的 ...
- iOS中Block的用法,举例,解析与底层原理(这可能是最详细的Block解析)
1. 前言 Block:带有自动变量(局部变量)的匿名函数.它是C语言的扩充功能.之所以是拓展,是因为C语言不允许存在这样匿名函数. 1.1 匿名函数 匿名函数是指不带函数名称函数.C语言中,函数是怎 ...
- ios中图片拉伸用法
- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCap ...
- iOS中的CocoaPods用法及常用命令
CocoaPods是什么? ***CocoaPods的使用场景:*** 1. 当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等等.可能某个类库又用 ...
- iOS中NSScanner 的用法
NSScanner是一个类,用于在字符串中扫描指定的字符,尤其是把它们翻译/转换为数字和别的字符串.可以创建NSScanner时制定他的String属性,然后scanner会按照你的要求从头到尾扫描这 ...
- IOS中NSUserDefaults的用法(轻量级本地数据存储)
NSUserDefaults适合存储轻量级的本地数据,比如要保存一个登陆界面的数据,用户名.密码之类的,个人觉得使用NSUserDefaults是首选.下次再登陆的时候就可以直接从NSUserDefa ...
随机推荐
- c# 正则表达式笔记
估计要写几天 看得一个不错的正则教程包括字符串教程 C#字符串和正则表达式参考手册.pdf 正则所需要的命名空间是 using System.Text.RegularExpressions 它包含了8 ...
- Java-JUC(一):volatile引入
问题背景: volatile是为了解决内存可见性而生的,什么是内存不可见性呢? 以下边的代码为例: package com.dx.juc; public class VoltileTest { pub ...
- [Git] Squash all of my commits into a single one and merge into master
Often you have your feature branch you’ve been working on and once it’s ready, you just want it to m ...
- ASP入门(三)-VBScript变量、运算符
ASP内置了两种语法引擎,分别是VBScript和JScript. VBScript是VB的一个子集.JScript和JavaScript有些类似. 如果你熟悉VB,建议用VBScript,否则推荐使 ...
- 教育单元测试mock框架优化之路(上)
转载:https://sq.163yun.com/blog/article/169561874192850944 众所周知,mock对于单元测试,尤其是基于spring容器的单元测试,是非常重要的.它 ...
- 微软BI 之SSRS 系列 - 报表中分组聚合中处理不规则层次结构的技巧(没有子元素的时候不展开, 删除+符号)
分组聚合的展开和收起效果在SSRS Report中非常常用,并且有时还要处理一些比较特别的情况.比如分组合并时有的层次结构是不规则的,有的组有两层,遇到这种情况应该如何处理? 注意到下面的这个需求 ...
- vSphere Data Protection – a new backup product included with vSphere 5.1
August 27, 2012 By Vladan SEGET This new backup product replaces VMware Data Recovery, which has bee ...
- JAVA设计模式——第 4 章 多例模式【Multition Pattern】(转)
一个国家有多个皇帝这种情况有没有?还确实有,就出现在明朝,那三国期间的算不算,不算!因为各自称帝,各有各的地盘,国号不同.大家还记得那首诗<石灰吟>吗?作者是谁?于谦,他是被谁杀死的?明英 ...
- claim概念图示
- Android 建立手机与手表数据同步机制总结
Android Wear 数据同步机制总结 当手机与手表建立蓝牙连接之后.数据就能够通过Google Play Service进行传输. 同步数据对象Data Item DataItem提供手机与手表 ...