Vou listar aqui as funções disponíveis na biblioteca sqlite3:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
0 - inclua a biblioteca: local sql = inclua'sqlite3'; 1 - ret, bd = sql.abra("nome_arquivo"); //esta função usa a codificação utf-8 [[ Abre um banco de dados já criado ou cria um caso não exista. Se ret for igual a sql.SQLITE_OK o banco foi aberto com sucesso e a variável bd passa a representar o banco de dado aberto. ]] 2 - ret, bd = sql.abra16("nome_arquivo16"); [[ É basicamente a mesma função que a de cima, com a diferença de que esta usa codificação utf-16]] 3- sql.exec( bd , 'string comando sql', 'func_call_back(%s,%s)' ou nulo ) [[ esta função executa uma string de comando sql com uma função prisma call back. (a função call back pode ser omitida) ]] 4- sql.execute o mesmo que sql.exec 5 - str_erro = sql.errmsg(bd); //--> retorna uma string descrevendo o último erro contido em bd. Usa utf-8 como codificação. 6 - sql.mensagem_erro(bd) //--> o mesmo que a de cima. 7 - sql.feche(bd); // --> fecha o banco de dados aberto. 8 - str_versao = sql.libversao(); [[--> retorna uma string descrevendo a versão do sqlite3 em C (diferente da versao do igsqlite3.so wrapper em Prisma);]] 9 - ret , res = sql.prepare_v2( bd , "string_comando_sql"); [[Esta função compila uma cláusula sqlite, se ret for igual a sql.SQLITE_OK o precesso teve êxito e uma variavel da string compilada é retornada para "res";]] 10 - lin = sql.passe( res ); [[ Esta função analisa a string compilada retornada para res na função sql.prepare_v2(); se o retorno lin for igual a "sql.SQLITE_LIN" a linha da tabela é válida sendo possível obter seus dados. Esta funão pode percorrer todas as linhas de uma tabela, por exemplo, usando-se uma laço de repetição até que o retorno não seja uma linha válida.]] 11 - str = sql.coluna_texto( res , num_coluna); [[codificação utf-8; res é a string compilada pela função sql.prepare_v2(); e num_coluna é o número da coluna( 1 = coluna 1, 2 = coluna 2...); --> retorna uma string do valor contido na linha e coluna da tabela sqlite. ]] 12 - str16 = coluna_texto16( res , num_coluna ); [[ --> mesmo que a função acima mas esta trabalho com a codificação utf-16 ]] 13 str = sql.coluna_nome( res , num_coluna); [[ --> retorna o nome da coluna indicada pelo número no parâmetro num_coluna. ]] 14 - str16 = sql.coluna_nome16( res , num_coluna); [[--> o mesmo que a função acima mas com codificação utf-16. ]] 15 - sql.finalize(res); [[ --> finaliza a execução da função sql.passe() liberando os resultados da memória internamente em C ]] 16 - sql.ultimo_id( bd ); [[ --> Esta função retorna o número do id do último registro em tabelas com colunas que possuam índices numéricos de autoincremento Id. ]] 17 - sql.vincule_int( res, ind, id ); [[ res é a string sqlite compilada. ind é o índice sqlite e id é o valor que vai substituir o "?" na cláusula sqlite. (ex. "SELECT * FROM Clientes WHERE id = ?" ) --> vincula um valor no lugar do "?" em uma cláusula sqlite. ]] 18 - idx = sql.vincule_parametro_index( res , "@id" ); [[ Vincula um parâmetro da variável sqlite "@id" index e retorna uma variável para ser usada com a função sql.vincule_int(res, idx , num_id); ex.: "SELECT * FROM Clientes WHERE id = @id;" ]] |