zoukankan      html  css  js  c++  java
  • 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:0] 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;
    }
  • 相关阅读:
    TransactionScope和Enterprise Libray 3.0 Data Access Application Block
    C#之父 Anders Hejlsberg
    openSUSE Linux 10.2 多语言版
    承蒙各位朋友支持与厚爱,荣获asp.net MVP荣誉
    如何在ASP.NET 2.0中定制Expression Builders
    检查Python对象
    IronPython中使用Cecil类库指南
    MSDN Magazine 4月份asp.net文章
    Reflector 插件
    WSS v3的Form身份认证
  • 原文地址:https://www.cnblogs.com/gcb999/p/3200308.html
Copyright © 2011-2022 走看看