Proyectos de Subversion Iphone Microlearning - Inconcert

Rev

Rev 14 | Ir a la última revisión | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 14 Rev 15
Línea 8... Línea 8...
8
import Foundation
8
import Foundation
9
import SQLite3
9
import SQLite3
Línea 10... Línea 10...
10
 
10
 
Línea 11... Línea -...
11
class Database {
-
 
-
 
11
class Database {
12
 
12
 
-
 
13
 
Línea 13... Línea 14...
13
    private var conn : OpaquePointer?
14
    private var path : String = Constants.DATABASE_NAME
14
    private var path : String = Constants.DATABASE_NAME
15
    public let db : OpaquePointer?
Línea 15... Línea -...
15
    
-
 
16
    static let sharedInstance: Database = {
16
    
17
           let instance = Database()
17
    static let sharedInstance: Database = {
Línea 18... Línea -...
18
           
-
 
19
           // setup code
-
 
20
           return instance
-
 
21
    }()
-
 
22
 
-
 
23
 
-
 
24
    public func printError()
-
 
Línea 25... Línea 18...
25
    {
18
           let instance = Database()
26
        
19
           
27
    }
-
 
28
 
20
           return instance
29
 
21
    }()
30
    
22
 
31
    public func createTables()
23
    
32
    {
24
    public func createTables()
33
        self.conn = open()
25
    {
Línea 48... Línea 40...
48
        }
40
        }
49
    }
41
    }
Línea 50... Línea 42...
50
 
42
 
Línea 51... Línea 43...
51
    public func open() -> OpaquePointer? {
43
    public func open() -> OpaquePointer? {
Línea 52... Línea 44...
52
        
44
        
53
        if self.conn == nil {
45
        if self.db == nil {
54
        
46
        
55
            let filePath = try! FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: false)
-
 
Línea 56... Línea -...
56
                .appendingPathComponent(path)
-
 
57
            
-
 
Línea -... Línea 47...
-
 
47
            let filePath = try! FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: false)
58
            print("Database FilePath : \(filePath.path)")
48
                    .appendingPathComponent(path)
59
            
49
                
-
 
50
            
60
            if sqlite3_open(filePath.path, &self.conn) != SQLITE_OK {
51
                
-
 
52
            if sqlite3_open(filePath.path, &self.db) == SQLITE_OK {
61
                print("No se pudo abrir la DB : \(path) ")
53
                print("Se abrio la conexión con la db : \(path) ")
62
                
54
                return conn
63
                self.printError()
55
                
-
 
56
            } else {
-
 
57
                print("No se pudo abrir la db : \(path) ")
-
 
58
                return nil
-
 
59
            }
-
 
60
        }
-
 
61
 
-
 
62
        
-
 
63
    }
64
                return nil
64
    
65
            } else {
65
    public func close() -> Void
Línea -... Línea 66...
-
 
66
    {
-
 
67
        if self.db == nil {
-
 
68
            print("No se pudo cerrar la conexión, no es un recurso valida")
-
 
69
            return
-
 
70
        }
-
 
71
        
-
 
72
        
66
                return self.conn
73
        if sqlite3_close(db) == SQLITE_OK {
Línea 67... Línea 74...
67
            }
74
            print("Se cerro la conexión de la base de datos")
Línea 68... Línea 75...
68
        } else {
75
            self.db = nil
69
            return self.conn
76
        } else {
Línea 70... Línea 77...
70
        }
77
            print("No se pudo cerrar la conexión de la base de datos")
71
        
78
        }
-
 
79
    }
-
 
80
    
72
    }
81
    
73
    
-
 
74
    
82
    
75
    
83
    func executeMultiQuery(queries: [String]) -> Bool {
76
    func executeMultiQuery(queries: [String]) {
84
        
77
        
85
        
Línea 78... Línea 86...
78
        
86
        queries.forEach { query in
Línea 79... Línea 87...
79
        queries.forEach { query in
87
            var statement : OpaquePointer? = nil
Línea 80... Línea 88...
80
            var statement : OpaquePointer? = nil
88
            
81
            
89
            if sqlite3_prepare_v2(db, query, -1, &statement, nil) == SQLITE_OK {
82
            if sqlite3_prepare_v2(self.conn, query, -1, &statement, nil) == SQLITE_OK {
-
 
Línea 83... Línea -...
83
                if sqlite3_step(statement) != SQLITE_DONE {
-
 
84
                    print("Fallo la consulta: \(query) ")
-
 
Línea 85... Línea 90...
85
                    
90
                if sqlite3_step(statement) == SQLITE_DONE {
86
                    self.printError()
91
                    return true
87
                }
92
                } else {
88
            } else {
93
                    print("Fallo la consulta: \(query) ")
89
                print("Fallo la preparación: \(query) ")
94
                    return false
90
                
95
                }
Línea 130... Línea 135...
130
 
135
 
Línea 131... Línea 136...
131
        
136
        
132
 
137
 
Línea 133... Línea 138...
133
        var statement : OpaquePointer? = nil
138
        var statement : OpaquePointer? = nil
134
        
139
        
Línea 147... Línea 152...
147
                
152
                
148
                
153
                
Línea 149... Línea -...
149
            } else {
-
 
-
 
154
            } else {
150
                print("No se pudo crear la tabla: \(Constants.TABLE_APP)")
155
                print("No se pudo crear la tabla: \(Constants.TABLE_APP)")
151
                
156
                
152
                self.printError()
157
                
Línea 153... Línea -...
153
            }
-
 
-
 
158
            }
Línea 154... Línea 159...
154
        } else {
159
        } else {
155
            print("Fallo la preparación para crear la tabla: \(Constants.TABLE_APP)")
160
            print("Fallo la preparación para crear la tabla: \(Constants.TABLE_APP)")
Línea 156... Línea 161...
156
            
161
            
157
            self.printError()
162
            
158
            
163
            
159
        }
164
        }
160
    }
165
    }
161
    
166
    
Línea 176... Línea 181...
176
        
181
        
Línea 177... Línea 182...
177
        
182
        
178
    
183
    
Línea 179... Línea 184...
179
        var statement : OpaquePointer? = nil
184
        var statement : OpaquePointer? = nil
180
        
185
        
Línea 190... Línea 195...
190
                executeMultiQuery(queries: queries)
195
                executeMultiQuery(queries: queries)
Línea 191... Línea 196...
191
                
196
                
192
            } else {
197
            } else {
Línea 193... Línea -...
193
                print("No se pudo crear la tabla: \(Constants.TABLE_USER_NOTIFICATION)")
-
 
-
 
198
                print("No se pudo crear la tabla: \(Constants.TABLE_USER_NOTIFICATION)")
194
                
199
                
195
                self.printError()
200
                
196
            }
201
            }
Línea 197... Línea -...
197
        } else {
-
 
-
 
202
        } else {
198
            print("Fallo la preparación para crear la tabla: \(Constants.TABLE_USER_NOTIFICATION)")
203
            print("Fallo la preparación para crear la tabla: \(Constants.TABLE_USER_NOTIFICATION)")
199
         
204
         
Línea 200... Línea 205...
200
            self.printError()
205
            
201
        }
206
        }
202
    }
207
    }
203
    
208
    
204
    private func createTableUserExtended()
209
    private func createTableUserExtended() -> Void
205
    {
210
    {
206
        var sql = "CREATE TABLE IF NOT EXISTS " + Constants.TABLE_USER_EXTENDED + "("
211
        var sql = "CREATE TABLE IF NOT EXISTS " + Constants.TABLE_USER_EXTENDED + "("
207
        sql = sql + Constants.TABLE_USER_EXTENDED_FIELD_UUID + " TEXT UNIQUE, "
212
        sql = sql + Constants.TABLE_USER_EXTENDED_FIELD_UUID + " TEXT UNIQUE, "
Línea 208... Línea 213...
208
        sql = sql + Constants.TABLE_USER_EXTENDED_FIELD_COMPANY_UUID + " TEXT,"
213
        sql = sql + Constants.TABLE_USER_EXTENDED_FIELD_COMPANY_UUID + " TEXT,"
Línea 209... Línea 214...
209
        sql = sql + Constants.TABLE_USER_EXTENDED_FIELD_LABEL + " TEXT,"
214
        sql = sql + Constants.TABLE_USER_EXTENDED_FIELD_LABEL + " TEXT,"
210
        sql = sql + Constants.TABLE_USER_EXTENDED_FIELD_VALUE + " TEXT"
215
        sql = sql + Constants.TABLE_USER_EXTENDED_FIELD_VALUE + " TEXT"
Línea 211... Línea 216...
211
        sql = sql + ");"
216
        sql = sql + ");"
212
        
217
        
213
        var statement : OpaquePointer? = nil
218
        var statement : OpaquePointer? = nil
Línea 222... Línea 227...
222
                executeMultiQuery(queries: queries)
227
                executeMultiQuery(queries: queries)
Línea 223... Línea 228...
223
                
228
                
224
            } else {
229
            } else {
Línea 225... Línea -...
225
                print("No se pudo crear la tabla: \(Constants.TABLE_USER_EXTENDED)")
-
 
-
 
230
                print("No se pudo crear la tabla: \(Constants.TABLE_USER_EXTENDED)")
226
                
231
                
227
                self.printError()
232
                
228
            }
233
            }
Línea 229... Línea -...
229
        } else {
-
 
-
 
234
        } else {
Línea 230... Línea 235...
230
            print("Fallo la preparación para crear la tabla: \(Constants.TABLE_USER_EXTENDED)")
235
            print("Fallo la preparación para crear la tabla: \(Constants.TABLE_USER_EXTENDED)")
231
            
236
            
Línea 232... Línea 237...
232
            self.printError()
237
            
233
            
238
            
234
        }
239
        }
235
    }
240
    }
236
    
241
    
237
    private func createTableSync()  {
242
    private func createTableSync() -> Void {
Línea 238... Línea 243...
238
        var sql = "CREATE TABLE IF NOT EXISTS " + Constants.TABLE_SYNC + "("
243
        var sql = "CREATE TABLE IF NOT EXISTS " + Constants.TABLE_SYNC + "("
Línea 239... Línea 244...
239
        sql = sql + Constants.TABLE_SYNC_FIELD_ID +  " INTEGER PRIMARY KEY, "
244
        sql = sql + Constants.TABLE_SYNC_FIELD_ID +  " INTEGER PRIMARY KEY, "
240
        sql = sql + Constants.TABLE_SYNC_FIELD_TYPE + " INTEGER,"
245
        sql = sql + Constants.TABLE_SYNC_FIELD_TYPE + " INTEGER,"
241
        sql = sql + Constants.TABLE_SYNC_FIELD_DATA + " TEXT"
246
        sql = sql + Constants.TABLE_SYNC_FIELD_DATA + " TEXT"
Línea 242... Línea -...
242
        sql = sql + ");"
-
 
-
 
247
        sql = sql + ");"
243
        
248
        
244
        var statement : OpaquePointer? = nil
249
        var statement : OpaquePointer? = nil
245
        
250
        
Línea 246... Línea -...
246
        if sqlite3_prepare_v2(self.conn, sql, -1, &statement, nil) == SQLITE_OK {
-
 
-
 
251
        if sqlite3_prepare_v2(db, sql, -1, &statement, nil) == SQLITE_OK {
Línea 247... Línea 252...
247
            if sqlite3_step(statement) != SQLITE_DONE {
252
            if sqlite3_step(statement) != SQLITE_DONE {
248
                print("No se pudo crear la tabla: \(Constants.TABLE_SYNC)")
253
                print("No se pudo crear la tabla: \(Constants.TABLE_SYNC)")
Línea 249... Línea 254...
249
                
254
                
250
                self.printError()
255
                
251
            }
256
            }
252
        } else {
257
        } else {
253
            print("Fallo la preparación para crear la tabla: \(Constants.TABLE_SYNC)")
258
            print("Fallo la preparación para crear la tabla: \(Constants.TABLE_SYNC)")
254
            
259
            
255
            self.printError()
260
            
Línea 256... Línea 261...
256
            
261
            
257
        }
262
        }
Línea 258... Línea 263...
258
    }
263
    }
259
    
264
    
260
    private func createTableCompany()  {
265
    private func createTableCompany() -> Void  {
Línea 275... Línea 280...
275
                executeMultiQuery(queries: queries)
280
                executeMultiQuery(queries: queries)
Línea 276... Línea 281...
276
                
281
                
277
            } else {
282
            } else {
Línea 278... Línea -...
278
                print("No se pudo crear la tabla: \(Constants.TABLE_COMPANY)");
-
 
-
 
283
                print("No se pudo crear la tabla: \(Constants.TABLE_COMPANY)");
279
                
284
                
280
                self.printError()
285
                
281
            }
286
            }
Línea 282... Línea -...
282
        } else {
-
 
-
 
287
        } else {
Línea 283... Línea 288...
283
            print("Fallo la preparación de la creación de la tabla: \(Constants.TABLE_COMPANY)")
288
            print("Fallo la preparación de la creación de la tabla: \(Constants.TABLE_COMPANY)")
284
            
289
            
Línea 285... Línea 290...
285
            self.printError()
290
            
286
            
291
            
287
        }
292
        }
288
    }
293
    }
289
    
294
    
290
    private func createTableTopic()  {
295
    private func createTableTopic() -> Void  {
Línea 300... Línea 305...
300
        sql = sql + ");"
305
        sql = sql + ");"
Línea 301... Línea 306...
301
        
306
        
Línea 302... Línea 307...
302
 
307
 
303
        var statement : OpaquePointer? = nil
308
        var statement : OpaquePointer? = nil
Línea 304... Línea 309...
304
        
309
        
305
        if sqlite3_prepare_v2(self.conn, sql, -1, &statement, nil) == SQLITE_OK {
310
        if sqlite3_prepare_v2(db, sql, -1, &statement, nil) == SQLITE_OK {
306
            if sqlite3_step(statement) == SQLITE_DONE {
311
            if sqlite3_step(statement) == SQLITE_DONE {
Línea 312... Línea 317...
312
                executeMultiQuery(queries: queries)
317
                executeMultiQuery(queries: queries)
Línea 313... Línea 318...
313
                
318
                
314
            } else {
319
            } else {
Línea 315... Línea -...
315
                print("No se pudo crear la tabla: \(Constants.TABLE_TOPIC)")
-
 
-
 
320
                print("No se pudo crear la tabla: \(Constants.TABLE_TOPIC)")
316
                
321
                
317
                self.printError()
322
                
318
           }
323
           }
Línea 319... Línea -...
319
        } else {
-
 
-
 
324
        } else {
320
            print("Fallo la preparación para crear la tabla: \(Constants.TABLE_TOPIC)")
325
            print("Fallo la preparación para crear la tabla: \(Constants.TABLE_TOPIC)")
321
            
326
            
Línea 322... Línea 327...
322
            
327
            
323
            self.printError()
328
            
324
        }
329
        }
325
    }
330
    }
326
    
331
    
327
        
332
        
Línea 342... Línea 347...
342
        sql = sql + ");"
347
        sql = sql + ");"
Línea 343... Línea 348...
343
        
348
        
Línea 344... Línea 349...
344
 
349
 
345
        var statement : OpaquePointer? = nil
350
        var statement : OpaquePointer? = nil
Línea 346... Línea 351...
346
        
351
        
347
        if sqlite3_prepare_v2(self.conn, sql, -1, &statement, nil) == SQLITE_OK {
352
        if sqlite3_prepare_v2(db, sql, -1, &statement, nil) == SQLITE_OK {
Línea 355... Línea 360...
355
                executeMultiQuery(queries: queries)
360
                executeMultiQuery(queries: queries)
Línea 356... Línea 361...
356
                
361
                
357
            } else {
362
            } else {
Línea 358... Línea -...
358
                print("No se pudo crear la tabla: \(Constants.TABLE_CAPSULE)")
-
 
-
 
363
                print("No se pudo crear la tabla: \(Constants.TABLE_CAPSULE)")
359
                
364
                
360
                self.printError()
365
                
361
           }
366
           }
Línea 362... Línea -...
362
        } else {
-
 
-
 
367
        } else {
363
            print("Fallo la preparación de la creación de la tabla: \(Constants.TABLE_CAPSULE)")
368
            print("Fallo la preparación de la creación de la tabla: \(Constants.TABLE_CAPSULE)")
364
            
369
            
Línea 365... Línea 370...
365
            self.printError()
370
            
366
        }
371
        }
367
    }
372
    }
368
    
373
    
369
    private func createTableSlide()  {
374
    private func createTableSlide() -> Void {
370
        var sql = "CREATE TABLE IF NOT EXISTS " + Constants.TABLE_SLIDE + " ("
375
        var sql = "CREATE TABLE IF NOT EXISTS " + Constants.TABLE_SLIDE + " ("
Línea 383... Línea 388...
383
        
388
        
Línea 384... Línea 389...
384
        
389
        
385
 
390
 
Línea 386... Línea 391...
386
        var statement : OpaquePointer? = nil
391
        var statement : OpaquePointer? = nil
387
        
392
        
Línea 400... Línea 405...
400
                executeMultiQuery(queries: queries)
405
                executeMultiQuery(queries: queries)
Línea 401... Línea 406...
401
                
406
                
402
            } else {
407
            } else {
Línea 403... Línea -...
403
                print("No se pudo crear la tabla: \(Constants.TABLE_SLIDE)")
-
 
-
 
408
                print("No se pudo crear la tabla: \(Constants.TABLE_SLIDE)")
404
                
409
                
405
                self.printError()
410
                
406
           }
411
           }
Línea 407... Línea -...
407
        } else {
-
 
-
 
412
        } else {
408
            print("Fallo la preparación para crear la tabla: \(Constants.TABLE_SLIDE)")
413
            print("Fallo la preparación para crear la tabla: \(Constants.TABLE_SLIDE)")
409
            
414
            
Línea 410... Línea 415...
410
            self.printError()
415
            
411
        }
416
        }
412
    }
417
    }
413
    
418
    
414
    
419
    
415
    private func createTableProgress()  {
420
    private func createTableProgress() -> Void  {
Línea 434... Línea 439...
434
        print("sql : \(sql)")
439
        print("sql : \(sql)")
Línea 435... Línea 440...
435
        
440
        
Línea 436... Línea 441...
436
 
441
 
437
        var statement : OpaquePointer? = nil
442
        var statement : OpaquePointer? = nil
Línea 438... Línea 443...
438
        
443
        
439
        if sqlite3_prepare_v2(self.conn, sql, -1, &statement, nil) == SQLITE_OK {
444
        if sqlite3_prepare_v2(db, sql, -1, &statement, nil) == SQLITE_OK {
Línea 452... Línea 457...
452
                executeMultiQuery(queries: queries)
457
                executeMultiQuery(queries: queries)
Línea 453... Línea 458...
453
                
458
                
454
            } else {
459
            } else {
455
                print("No se pudo crear la tabla: \(Constants.TABLE_PROGRESS)")
460
                print("No se pudo crear la tabla: \(Constants.TABLE_PROGRESS)")
456
                print(sql)
-
 
-
 
461
                print(sql)
457
                self.printError()
462
                
458
           }
463
           }
459
        } else {
464
        } else {
Línea 460... Línea -...
460
            print("Fallo la preparación para la creación de la tabla: \(Constants.TABLE_PROGRESS)")
-
 
-
 
465
            print("Fallo la preparación para la creación de la tabla: \(Constants.TABLE_PROGRESS)")
461
 
466
 
462
            self.printError()
467
            
Línea 463... Línea 468...
463
        }
468
        }
464
    }
469
    }
465
    
470
    
466
    private func createTableUserLog()  {
471
    private func createTableUserLog() -> Void  {
467
        var sql = "CREATE TABLE IF NOT EXISTS " + Constants.TABLE_USER_LOG + "("
472
        var sql = "CREATE TABLE IF NOT EXISTS " + Constants.TABLE_USER_LOG + "("
468
        sql = sql + Constants.TABLE_USER_LOG_FIELD_ID + " INTEGER PRIMARY KEY, "
473
        sql = sql + Constants.TABLE_USER_LOG_FIELD_ID + " INTEGER PRIMARY KEY, "
Línea 476... Línea 481...
476
        sql = sql + ");"
481
        sql = sql + ");"
Línea 477... Línea 482...
477
        
482
        
Línea 478... Línea 483...
478
 
483
 
479
        var statement : OpaquePointer? = nil
484
        var statement : OpaquePointer? = nil
Línea 480... Línea 485...
480
        
485
        
481
        if sqlite3_prepare_v2(self.conn, sql, -1, &statement, nil) == SQLITE_OK {
486
        if sqlite3_prepare_v2(db, sql, -1, &statement, nil) == SQLITE_OK {
Línea 490... Línea 495...
490
                executeMultiQuery(queries: queries)
495
                executeMultiQuery(queries: queries)
Línea 491... Línea 496...
491
                
496
                
492
            } else {
497
            } else {
Línea 493... Línea -...
493
                print("No se pudo crear la tabla: \(Constants.TABLE_USER_LOG)")
-
 
-
 
498
                print("No se pudo crear la tabla: \(Constants.TABLE_USER_LOG)")
494
                
499
                
495
                self.printError()
500
                
496
           }
501
           }
Línea 497... Línea -...
497
        } else {
-
 
-
 
502
        } else {
498
            print("Fallo la preparación de la creación de la tabla: \(Constants.TABLE_USER_LOG)")
503
            print("Fallo la preparación de la creación de la tabla: \(Constants.TABLE_USER_LOG)")
499
            
504
            
Línea 500... Línea 505...
500
            self.printError()
505
            
501
        }
506
        }
502
    }
507
    }
503
    
508
    
504
 
509
 
505
    
510
    
Línea 517... Línea 522...
517
        sql = sql + Constants.TABLE_QUIZ_FIELD_UPDATED_ON + " TEXT);"
522
        sql = sql + Constants.TABLE_QUIZ_FIELD_UPDATED_ON + " TEXT);"
Línea 518... Línea 523...
518
 
523
 
Línea 519... Línea 524...
519
        
524
        
520
        var statement : OpaquePointer? = nil
525
        var statement : OpaquePointer? = nil
Línea 521... Línea 526...
521
        
526
        
522
        if sqlite3_prepare_v2(self.conn, sql, -1, &statement, nil) == SQLITE_OK {
527
        if sqlite3_prepare_v2(db, sql, -1, &statement, nil) == SQLITE_OK {
523
            if sqlite3_step(statement) == SQLITE_DONE {
528
            if sqlite3_step(statement) == SQLITE_DONE {
Línea 529... Línea 534...
529
                executeMultiQuery(queries: queries)
534
                executeMultiQuery(queries: queries)
Línea 530... Línea 535...
530
                
535
                
531
            } else {
536
            } else {
Línea 532... Línea -...
532
                print("No se pudo crear la tabla: \(Constants.TABLE_QUIZ)")
-
 
-
 
537
                print("No se pudo crear la tabla: \(Constants.TABLE_QUIZ)")
533
                
538
                
534
                self.printError()
539
                
535
           }
540
           }
Línea 536... Línea -...
536
        } else {
-
 
-
 
541
        } else {
537
            print("Fallo la preparación de la creación de la tabla: \(Constants.TABLE_QUIZ)")
542
            print("Fallo la preparación de la creación de la tabla: \(Constants.TABLE_QUIZ)")
Línea 538... Línea 543...
538
            
543
            
Línea 539... Línea 544...
539
            self.printError()
544
            
540
        }
545
        }
541
        
546
        
542
    }
547
    }
543
    
548
    
544
    private func createTableQuestion()  {
549
    private func createTableQuestion() -> Void  {
Línea 552... Línea 557...
552
        sql = sql + Constants.TABLE_QUESTION_FIELD_ADDED_ON + " TEXT,"
557
        sql = sql + Constants.TABLE_QUESTION_FIELD_ADDED_ON + " TEXT,"
553
        sql = sql + Constants.TABLE_QUESTION_FIELD_UPDATED_ON + " TEXT);"
558
        sql = sql + Constants.TABLE_QUESTION_FIELD_UPDATED_ON + " TEXT);"
Línea 554... Línea 559...
554
        
559
        
Línea 555... Línea 560...
555
        var statement : OpaquePointer? = nil
560
        var statement : OpaquePointer? = nil
556
        
561
        
Línea 557... Línea 562...
557
        if sqlite3_prepare_v2(self.conn, sql, -1, &statement, nil) == SQLITE_OK {
562
        if sqlite3_prepare_v2(db, sql, -1, &statement, nil) == SQLITE_OK {
558
            if sqlite3_step(statement) == SQLITE_DONE {
563
            if sqlite3_step(statement) == SQLITE_DONE {
559
            
564
            
Línea 560... Línea 565...
560
                let queries = [
565
                let queries = [
561
                    "CREATE INDEX IF NOT EXISTS `idx_questions_quiz_uuid` ON " +  Constants.TABLE_QUIZ + "` (`" +  Constants.TABLE_QUIZ_FIELD_UUID + "` );"
566
                    "CREATE INDEX IF NOT EXISTS `idx_questions_quiz_uuid` ON " +  Constants.TABLE_QUIZ + "` (`" +  Constants.TABLE_QUIZ_FIELD_UUID + "` );"
562
                ]
567
                ]
Línea 563... Línea -...
563
                
-
 
-
 
568
                
564
                executeMultiQuery(queries: queries)
569
                executeMultiQuery(queries: queries)
565
            } else {
570
            } else {
566
                print("No se pudo crear la tabla: \(Constants.TABLE_QUESTION)")
571
                print("No se pudo crear la tabla: \(Constants.TABLE_QUESTION)")
Línea 567... Línea -...
567
                
-
 
-
 
572
                
568
                self.printError()
573
                
569
           }
574
           }
Línea 570... Línea 575...
570
        } else {
575
        } else {
571
            print("Fallo la preparación de la creación  de la tabla: \(Constants.TABLE_QUESTION)")
576
            print("Fallo la preparación de la creación  de la tabla: \(Constants.TABLE_QUESTION)")
572
            
577
            
573
            self.printError()
578
            
574
        }
579
        }
575
    }
580
    }
Línea 585... Línea 590...
585
        sql = sql + Constants.TABLE_ANSWER_FIELD_UPDATED_ON + " TEXT); "
590
        sql = sql + Constants.TABLE_ANSWER_FIELD_UPDATED_ON + " TEXT); "
Línea 586... Línea 591...
586
        
591
        
Línea 587... Línea 592...
587
 
592
 
588
        var statement : OpaquePointer? = nil
593
        var statement : OpaquePointer? = nil
589
        
594
        
590
        if sqlite3_prepare_v2(self.conn, sql, -1, &statement, nil) == SQLITE_OK {
595
        if sqlite3_prepare_v2(db, sql, -1, &statement, nil) == SQLITE_OK {
591
            if sqlite3_step(statement) == SQLITE_DONE {
596
            if sqlite3_step(statement) == SQLITE_DONE {
Línea 592... Línea 597...
592
                let queries = [
597
                let queries = [
Línea 593... Línea 598...
593
                    "CREATE INDEX IF NOT EXISTS `idx_answers_question_uuid` ON `" +  Constants.TABLE_QUESTION + "` (`" +  Constants.TABLE_QUESTION_FIELD_UUID + "` );"
598
                    "CREATE INDEX IF NOT EXISTS `idx_answers_question_uuid` ON `" +  Constants.TABLE_QUESTION + "` (`" +  Constants.TABLE_QUESTION_FIELD_UUID + "` );"
594
                ]
599
                ]
Línea 595... Línea -...
595
                
-
 
-
 
600
                
596
                executeMultiQuery(queries: queries)
601
                executeMultiQuery(queries: queries)
597
                
602
                
598
            } else {
603
            } else {
Línea 599... Línea -...
599
                print("No se pudo crear la tabla: \(Constants.TABLE_ANSWER)")
-
 
-
 
604
                print("No se pudo crear la tabla: \(Constants.TABLE_ANSWER)")
600
                
605
                
601
                self.printError()
606