@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)的更多相关文章

  1. ios中Pldatabase的用法

    将PLDATABASE加入到工程 下载PLDatabase 的dmg文件 将PLDatabase的framework复制到工程根目录在工程中加入该framework使用该framework进行数据库操 ...

  2. ios中Pldatabase的用法(3)

    #import "ViewController.h" @interface ViewController () @property(nonatomic,retain)PLSqlit ...

  3. ios中Pldatabase的用法(4)

    封装成DAO@implementation SqlHelper +(BOOL)InsertSql:(NSString *)sql paramet:(NSMutableDictionary *)parm ...

  4. iOS中block的用法 以及和函数用法的区别

    ios中block的用法和函数的用法大致相同 但是block的用法的灵活性更高: 不带参数的block: void ^(MyBlock)() = ^{}; 调用的时候  MyBlock(); 带参数的 ...

  5. iOS中Block的用法,举例,解析与底层原理(这可能是最详细的Block解析)

    1. 前言 Block:带有自动变量(局部变量)的匿名函数.它是C语言的扩充功能.之所以是拓展,是因为C语言不允许存在这样匿名函数. 1.1 匿名函数 匿名函数是指不带函数名称函数.C语言中,函数是怎 ...

  6. ios中图片拉伸用法

    - (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCap ...

  7. iOS中的CocoaPods用法及常用命令

     CocoaPods是什么? ***CocoaPods的使用场景:*** 1. 当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等等.可能某个类库又用 ...

  8. iOS中NSScanner 的用法

    NSScanner是一个类,用于在字符串中扫描指定的字符,尤其是把它们翻译/转换为数字和别的字符串.可以创建NSScanner时制定他的String属性,然后scanner会按照你的要求从头到尾扫描这 ...

  9. IOS中NSUserDefaults的用法(轻量级本地数据存储)

    NSUserDefaults适合存储轻量级的本地数据,比如要保存一个登陆界面的数据,用户名.密码之类的,个人觉得使用NSUserDefaults是首选.下次再登陆的时候就可以直接从NSUserDefa ...

随机推荐

  1. Populating Next Right Pointers in Each Node leetcode java

    题目: Given a binary tree struct TreeLinkNode { TreeLinkNode *left; TreeLinkNode *right; TreeLinkNode ...

  2. CRF分词的纯Java实现

    与基于隐马尔可夫模型的最短路径分词.N-最短路径分词相比,基于随机条件场(CRF)的分词对未登录词有更好的支持.本文(HanLP)使用纯Java实现CRF模型的读取与维特比后向解码,内部特征函数采用  ...

  3. 红米除线刷的另外一种救砖方法fastboot

    原文来自:https://jingyan.baidu.com/article/48a42057e945bca9242504d7.html , 按照它操做了一下,虽然没有救活我的红米1,但是让我更好的了 ...

  4. mysql CAPI 接口 读取中文乱码的解决方案(转)

      最近的yymysqlsdk的开源项目里,对中文的支持不到位,因此用了1.5天的时间,对中文处理的各个情况进行了分析.     1.首先确认你的MySQL配置文件,my.ini (只针对window ...

  5. VC++ MFC应用程序项目文件

    <?xml version="1.0" encoding="utf-8"?> <Project DefaultTargets="Bu ...

  6. Laravel的目录结构分析

    根目录结构/app/bootstrap/public/vendorartisancomposer.jsonserver.php 1./app整个Laravel 目录中最需要我们注意的地方,包含设置(c ...

  7. java语言特性之一

    package java.util.Collections; public static int indexOfSubList(List<?> source, List<?> ...

  8. android中RecyclerView控件的列表项横向排列

    本文是在上一篇文章的基础上做的修改:android中RecyclerView控件的使用 1.修改列表项news_item.xml:我这里是把新闻标题挪到了新闻图片的下面显示 <?xml vers ...

  9. C#常用特性

    1.服务器控件ID .NET服务器控件有三个ID,即:ID,ClientID和UniqueID ID为服务器控件的服务器标示,在服务器代码中通过ID来唯一区分服务器控件: ClientID是服务器控件 ...

  10. LintCode: Single Number

    C++ (1)异或操作 3^3=0 (2)for (auto &i : Obejuct) {} class Solution { public: /** * @param A: Array o ...