SQLite parte 3 : Criando as tabelas

A partir daqui um conhecimento mínimo de SQL se faz necessário, pois vamos executar os comandos de criação.

Vamos recordar como finalizamos o exemplo anterior: Criamos um bloco de controle IF que abria o banco mas não fazia nada nele, apenas tinha comentários:

Com o banco aberto, podemos executar comandos SQL nele. É o que vamos fazer dentro do bloco de YES (Pra quem não sabe, Objective-C usa YES e NO ao invés de TRUE e FALSE respectivamente).

Criamos 2 ponteiros para char. Isso nem é Obj-C e sim C puro. O primeiro vai armazenar as possíveis e prováveis mensagens de erro e a segunda a nossa “String” de criação do banco de dados. PRESTE ATENÇÃO: O tipo de variável ali é um ponteiro pra char e não o objeto NSString do Obj-C.  “string” é diferente de @”string” !

Depois podemos usar a função sqlite_exec() para executar o que foi armazenado em sql_stmt:

Se você conseguiu criar o banco sem erros parabéns! Algumas coisas que você precisa ter em mente:

  • A criação do banco deve ser feita quando o App for inicializado pela primeira vez, então é normal que seja chamado do viewDidLoad().
  • A tabela será criada apenas uma vez, embora esse comando seja executado sempre. É isso que o “CREATE TABLE IF NOT EXISTS” quer dizer em letras garrafais: Crie a tabela se ela não  existir. Isso quer dizer que se você quiser criar novas colunas nessa tabela, terá que usar em algum ponto um script de migração com “ALTER TABLE” ou apagar toda a tabela e recriá-la. Se você não fizer isso o seu App vai dar crash mesmo que o código esteja perfeitamente escrito sem nenhum erro ou warning.

No próximo: Vamos adicionar registros à essa tabela e por último, veremos como resgatar os dados.

Comments Are Closed