zoukankan      html  css  js  c++  java
  • a simple example for sqlite

    //#import "/usr/include/sqlite3.h" //add this to your header of code

    - (void) saveData 
    {
        sqlite3_stmt *statement; 
        const char *dbpath = [databasePath UTF8String]; 
        
        
        if (sqlite3_open(dbpath, &contactDB) == SQLITE_OK) 
        { 
            NSString *insertSQL = [NSString stringWithFormat: @"INSERT INTO CONTACTS (name, address, phone) VALUES (\"%@\", \"%@\", \"%@\")", name.text, address.text, phone.text]; 
            
            const char *insert_stmt = [insertSQL UTF8String]; 
            sqlite3_prepare_v2(contactDB, insert_stmt, -1, &statement, NULL); 
            
            if (sqlite3_step(statement) == SQLITE_DONE)
            { 
                self.status.text = @"Contact added"
                self.name.text = @""
                self.address.text = @""
                self.phone.text = @""
            } else { 
                self.status.text = @"Failed to add contact"
            } 
            sqlite3_finalize(statement); 
            sqlite3_close(contactDB); 
        }
    }

    - (void) findContact 

        const char *dbpath = [databasePath UTF8String]; 
        sqlite3_stmt *statement; 
        
        if (sqlite3_open(dbpath, &contactDB) == SQLITE_OK) 
        { 
            NSString *querySQL = [NSString stringWithFormat: @"SELECT address, phone FROM contacts WHERE name=\"%@\"", name.text]; 
            
            const char *query_stmt = [querySQL UTF8String]; 
            
            if (sqlite3_prepare_v2(contactDB,query_stmt, -1, &statement, NULL) == SQLITE_OK) 
            { 
                if (sqlite3_step(statement) == SQLITE_ROW) 
                { 
                    NSString *addressField = [[NSString alloc] initWithUTF8String: (const char *) sqlite3_column_text( statement, 0)]; 
                    self.address.text = addressField; 
                    NSString *phoneField = [[NSString alloc] initWithUTF8String:(const char *) sqlite3_column_text(statement, 1)]; 
                    
                    self.phone.text = phoneField; 
                    
                    self.status.text = @"Match found"
                } else { 
                    self.status.text = @"Match not found";
                    self.address.text = @""
                    self.phone.text = @""
                } 
                sqlite3_finalize(statement); 
            } 
            sqlite3_close(contactDB); 
        }
    }

  • 相关阅读:
    利用别名切换索引流程Elasticsearch 7.7
    关于误删除elasticSearch 索引,怎么能快速找回?
    总结traefik 在k8s 环境中的配置文件
    ES ElasticSearch 7.x 下动态扩大索引的shard数量
    Java框架Spring Boot & 服务治理框架Dubbo & 应用容器引擎Docker 实现微服务发布
    谈一下Docker与Kubernetes集群的日志和日志管理-转载
    Elasticsearch优化 & filebeat配置文件优化 & logstash格式配置 & grok实践
    Nginx错误日志(error_log)配置及信息详解
    赵总的运维体系专栏学习的总结
    APP或者前端通过识别用户代理详细信息和浏览器数据进行安全防御
  • 原文地址:https://www.cnblogs.com/zyip/p/2656922.html
Copyright © 2011-2022 走看看