/usr/share/doc/lua-sql-doc/br/examples.html is in lua-sql-doc 2.3.4-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>LuaSQL: Conectividade de banco de dados para a linguagem de programação Lua</title>
<link rel="stylesheet" href="doc.css" type="text/css"/>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
</head>
<body>
<div id="container">
<div id="product">
<div id="product_logo"><a href="http://www.keplerproject.org">
<img alt="LuaSQL logo" src="luasql.png"/>
</a></div>
<div id="product_name"><big><strong>LuaSQL</strong></big></div>
<div id="product_description">Conectividade de banco de dados para a linguagem de programação Lua</div>
</div> <!-- id="product" -->
<div id="main">
<div id="navigation">
<h1>LuaSQL</h1>
<ul>
<li><a href="index.html">Home</a>
<ul>
<li><a href="index.html#overview">Visão Geral</a></li>
<li><a href="index.html#status">Status</a></li>
<li><a href="index.html#download">Download</a></li>
<li><a href="index.html#credits">Créditos</a></li>
<li><a href="index.html#contact">Contato</a></li>
</ul>
</li>
<li><a href="manual.html">Manual</a>
<ul>
<li><a href="manual.html#introduction">Introdução</a></li>
<li><a href="manual.html#compiling">Compilando</a></li>
<li><a href="manual.html#installation">Instalação</a></li>
<li><a href="manual.html#errors">Tratamento de erros</a></li>
<li><a href="manual.html#drivers">Drivers</a></li>
<li><a href="manual.html#environment_object">Ambiente</a></li>
<li><a href="manual.html#connection_object">Conexão</a></li>
<li><a href="manual.html#cursor_object">Cursor</a></li>
<li><a href="manual.html#postgres_extensions">PostgreSQL</a></li>
<li><a href="manual.html#mysql_extensions">MySQL</a></li>
<li><a href="manual.html#oracle_extensions">Oracle</a></li>
<li><a href="manual.html#sqlite3_extensions">SQLite3</a></li>
</ul>
</li>
<li><strong>Exemplos</strong></li>
<li><a href="history.html">Histórico</a></li>
<li><a href="http://github.com/keplerproject/luasql">Projeto</a>
<ul>
<li><a href="http://github.com/keplerproject/luasql/issues">Bug Tracker</a></li>
</ul>
</li>
<li><a href="license.html">Licença</a></li>
</ul>
</div> <!-- id="navigation" -->
<div id="content">
<h2><a name="examples"></a>Exemplos</h2>
<p>Abaixo, você verá um pequeno exemplo do código do uso básico da biblioteca.
Em seguida, outro exemplo mostra como criar um
<a href="#iterator_example">iterador</a> sobre o resultado de uma determinada consulta.</p>
<h3><a name="basic_use"></a>Uso básico</h3>
<pre class="example">
-- carregar o driver
require "luasql.postgres"
-- criar o objeto de ambiente
env = assert (luasql.postgres())
-- conectar a base de dados
con = assert (env:connect("luasql-test"))
-- retornar a tabela
res = con:execute"DROP TABLE people"
res = assert (con:execute[[
CREATE TABLE people (
name varchar(50),
email varchar(50)
)
]])
-- adiciona alguns elementos
list = {
{ name="José das Couves", email="jose@couves.com", },
{ name="Manoel Joaquim", email="manoel.joaquim@cafundo.com", },
{ name="Maria das Dores", email="maria@dores.com", },
}
for i, p in pairs (list) do
res = assert (con:execute(string.format([[
INSERT INTO people
VALUES ('%s', '%s')]], p.name, p.email)
))
end
-- obtem um cursor
cur = assert (con:execute"SELECT name, email from people")
-- imprime todos os registros, indexados pelos nomes de campos
row = cur:fetch ({}, "a")
while row do
print(string.format("Nome: %s, E-mail: %s", row.name, row.email))
-- reutiliza a tabela de resultados
row = cur:fetch (row, "a")
end
-- fecha tudo
cur:close()
con:close()
env:close()
</pre>
<p>O resultado desse script será:</p>
<pre class="example">
Nome: José das Couves, E-mail: jose@couves.com
Nome: Manoel Joaquim, E-mail: manoel.joaquim@cafundo.com
Nome: Maria das Dores, E-mail: maria@dores.com
</pre>
<h3><a name="iterator_example"></a>Uso do iterador</h3>
<p>Pode ser útil oferecer um iterador para cada registro do resultado:</p>
<pre class="example">
function rows (connection, sql_statement)
local cursor = assert (connection:execute (sql_statement))
return function ()
return cursor:fetch()
end
end
</pre>
<p>Esse iterador é usado da seguinte forma:</p>
<pre class="example">
require "luasql.mysql"
env = assert (luasql.mysql())
con = assert (env:connect"my_db")
for id, name, address in rows (con, "select * from contacts") do
print (string.format ("%s: %s", name, address))
end
</pre>
<p>A implementação acima utiliza a coleta de lixo de Lua para
fechar o cursor. Ela pode ser melhorada de modo a apresentar
mensagens de erro mais adequadas (incluindo o statement SQL por
exemplo) ou para fechar explicitamente o cursor (verificando
se ainda existem mais linhas).</p>
</div> <!-- id="content" -->
</div> <!-- id="main" -->
<div id="about">
<p><a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" /></a></p>
<p><small>
$Id: examples.html,v 1.7 2008/06/11 00:26:13 jasonsantos Exp $
</small></p>
</div> <!-- id="about" -->
</div> <!-- id="container" -->
</body>
</html>
|