Link to home
Start Free TrialLog in
Avatar of karthik80c
karthik80cFlag for United States of America

asked on

how to get result set from sqlite database and set those values to an array

How to set values from result set to an array during Iteration while loop .
Avatar of Dave Baldwin
Dave Baldwin
Flag of United States of America image

What language?
Avatar of karthik80c

ASKER

Hi Dave
we are using swift language
Avatar of crystal (strive4peace) - Microsoft MVP, Access
crystal (strive4peace) - Microsoft MVP, Access

what language are you using to develop? can you post the code you have so far?
Ok.  Never heard of it until now.  Pleas click on "Request Attention" and get some better Topic Areas added to your question.
Here is our code. What I exactly need is, I have to create a dynamic dropdown in swift language for an IOS application.

import UIKit

class ViewController: UIViewController {

   
    @IBOutlet weak var catagory: UIPickerView!
    
    @IBOutlet weak var subcatagory: UIPickerView!
   
    @IBOutlet weak var postalcode: UITextField!
    
     var databasePath=NSString()
    
    var subcatagories = []
    
    let firstpicker=FirstPickerData()
    
    let secondpicker=SecondPickerData()
    
    var temp:Int=0
    
    override func viewDidLoad()
    {
        super.viewDidLoad()
        
      
        catagory.dataSource=secondpicker
       
        catagory.delegate=secondpicker
        
        subcatagory.dataSource=firstpicker
        
        subcatagory.delegate=firstpicker
        
        let filemgr = NSFileManager.defaultManager()
        
        let dirPaths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask,true)
        
        let docsDir = dirPaths[0]
        
        databasePath = docsDir.stringByAppendingString("lawyer.sqlite")
        
        if !filemgr.fileExistsAtPath(databasePath as String)
        {
            let lawyersDB=FMDatabase(path: databasePath as String)
            
            if lawyersDB == nil
            {
                print("Error: \(lawyersDB.lastErrorMessage())")
            }
            if lawyersDB.open()
            {
                let catagory_stmt="CREATE TABLE IF NOT EXISTS CATAGORY(CATAGORYID INTEGER,CATAGORY TEXT)"
                
                let subcatagory_stmt="CREATE TABLE IF NOT EXISTS SUBCATAGORY(CATAGORYID INTEGER,SUBCATAGORY TEXT,SUBCATAGORYID INTEGER,FOREIGN KEY(CATAGORYID) REFERENCES CATAGORY(CATAGORYID))"
                
                let sql_stmt="CREATE TABLE IF NOT EXISTS LAWYERS(LAWYERID INTEGER,NAME TEXT,SPECIALISATION TEXT,EXPERIENCE TEXT,CATAGORY TEXT,SUBCATAGORY TEXT,POSTALCODE INTEGER)"
                
                let select_stmt="SELECT CATAGORY FROM CATAGORY"
                
                let result:FMResultSet?=lawyersDB.executeQuery(select_stmt, withParameterDictionary:nil)
                
                if !lawyersDB.executeStatements(catagory_stmt)
                {
                    print("Error: \(lawyersDB.lastErrorMessage())")
                }
                
                if !lawyersDB.executeStatements(subcatagory_stmt)
                {
                    print("Error: \(lawyersDB.lastErrorMessage())")
                }
                
                if !lawyersDB.executeStatements(sql_stmt)
                {
                    print("Error: \(lawyersDB.lastErrorMessage())")
                }
                
                while result?.next() == true
                {
                    
                    secondpicker.catagoryData.append(result?.stringForColumn("catagory"))
                    
                    
                    
                }
                
            }

Open in new window

ASKER CERTIFIED SOLUTION
Avatar of esolve
esolve
Flag of South Africa image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial