<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://www.developer.nokia.com/Community/Wiki/skins/common/feed.css?1917"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://www.developer.nokia.com/Community/Wiki/index.php?title=Criando_aplica%C3%A7%C3%B5es_orientadas_a_banco_de_dados_usando_Qt&amp;feed=atom&amp;action=history</id>
		<title>Criando aplicações orientadas a banco de dados usando Qt - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://www.developer.nokia.com/Community/Wiki/index.php?title=Criando_aplica%C3%A7%C3%B5es_orientadas_a_banco_de_dados_usando_Qt&amp;feed=atom&amp;action=history"/>
		<link rel="alternate" type="text/html" href="http://www.developer.nokia.com/Community/Wiki/index.php?title=Criando_aplica%C3%A7%C3%B5es_orientadas_a_banco_de_dados_usando_Qt&amp;action=history"/>
		<updated>2013-05-22T10:05:54Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.18.6</generator>

	<entry>
		<id>http://www.developer.nokia.com/Community/Wiki/index.php?title=Criando_aplica%C3%A7%C3%B5es_orientadas_a_banco_de_dados_usando_Qt&amp;diff=174932&amp;oldid=prev</id>
		<title>Hamishwillee: Text replace - &quot;&lt;code cpp&gt;&quot; to &quot;&lt;code cpp-qt&gt;&quot;</title>
		<link rel="alternate" type="text/html" href="http://www.developer.nokia.com/Community/Wiki/index.php?title=Criando_aplica%C3%A7%C3%B5es_orientadas_a_banco_de_dados_usando_Qt&amp;diff=174932&amp;oldid=prev"/>
				<updated>2012-10-11T01:16:38Z</updated>
		
		<summary type="html">&lt;p&gt;Text replace - &amp;quot;&amp;lt;code cpp&amp;gt;&amp;quot; to &amp;quot;&amp;lt;code cpp-qt&amp;gt;&amp;quot;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 01:16, 11 October 2012&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 62:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 62:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;No trecho de código seguinte o conector do banco de dados é criado e o banco de dados aberto. Se a estrutura de banco de dados ainda não existir ela será criada.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;No trecho de código seguinte o conector do banco de dados é criado e o banco de dados aberto. Se a estrutura de banco de dados ainda não existir ela será criada.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;code cpp&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;code cpp&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;-qt&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;// using SQLITE driver&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;// using SQLITE driver&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;QSqlDatabase db = QSqlDatabase::addDatabase(&amp;quot;QSQLITE&amp;quot;);&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;QSqlDatabase db = QSqlDatabase::addDatabase(&amp;quot;QSQLITE&amp;quot;);&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 83:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 83:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;O próximo passo é associar essa banco de dados à arquitetura model/view. Os métodos '''setTable()''' (da classe de modelo) e '''setModel()''' (da classe de visualização) são utilizados para realizar essa tarefa. É necessário chamar '''select()''' para preencher o modelo com os dados da tabela e o desenvolvedor pode escolher ainda a sua estratégia de edição chamando '''setEditEstrategy()'''. Neste caso, usando '''QSqlTableModel::OnFieldChange''', qualquer mudança será aplicada imediatamente ao banco de dados.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;O próximo passo é associar essa banco de dados à arquitetura model/view. Os métodos '''setTable()''' (da classe de modelo) e '''setModel()''' (da classe de visualização) são utilizados para realizar essa tarefa. É necessário chamar '''select()''' para preencher o modelo com os dados da tabela e o desenvolvedor pode escolher ainda a sua estratégia de edição chamando '''setEditEstrategy()'''. Neste caso, usando '''QSqlTableModel::OnFieldChange''', qualquer mudança será aplicada imediatamente ao banco de dados.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;code cpp&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;code cpp&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;-qt&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;// create a new model and use the contacts table&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;// create a new model and use the contacts table&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;QSqlTableModel *model = new QSqlTableModel(this, db);&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;QSqlTableModel *model = new QSqlTableModel(this, db);&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 101:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 101:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Uma vez que os registros podem ser visualizados, a próxima tarefa é criar um diálogo para a coleta de dados dos usuários. O editor de formulários do Qt Creator torna esta tarefa muito fácil e um diálogo simples com apenas dois campos (nome e telefone) é necessário para esta aplicação. Crie este diálogo e as classes relacionadas e adicione ao projeto, criando callbacks para os botões&amp;#160; '''Cancel''' e '''Ok'''. Para mostrar o diálogo você precisará usar o método '''exec()'''. Depois de o diálogo ser fechado, você pode verificar se ele tem dados válidos e então adicioná-los ao banco de dados como um novo registo. O método '''record()''' (do modelo) retornará um registro de SQL que corresponde à sua especificação de banco de dados que você pode preencher esse registro usando o método&amp;#160; '''setValue()'''. [http://doc.trolltech.com/4.6/properties.html Qt properties] foram utilizados na classe de diálogo para ajudar a recolher os dados necessários e o método '''insertRecord()''' irá adicionar este registro ao banco de dados.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Uma vez que os registros podem ser visualizados, a próxima tarefa é criar um diálogo para a coleta de dados dos usuários. O editor de formulários do Qt Creator torna esta tarefa muito fácil e um diálogo simples com apenas dois campos (nome e telefone) é necessário para esta aplicação. Crie este diálogo e as classes relacionadas e adicione ao projeto, criando callbacks para os botões&amp;#160; '''Cancel''' e '''Ok'''. Para mostrar o diálogo você precisará usar o método '''exec()'''. Depois de o diálogo ser fechado, você pode verificar se ele tem dados válidos e então adicioná-los ao banco de dados como um novo registo. O método '''record()''' (do modelo) retornará um registro de SQL que corresponde à sua especificação de banco de dados que você pode preencher esse registro usando o método&amp;#160; '''setValue()'''. [http://doc.trolltech.com/4.6/properties.html Qt properties] foram utilizados na classe de diálogo para ajudar a recolher os dados necessários e o método '''insertRecord()''' irá adicionar este registro ao banco de dados.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;code cpp&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;code cpp&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;-qt&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;// Create a new empty dialog and show it using exec()&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;// Create a new empty dialog and show it using exec()&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;NewContact dlg(this);&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;NewContact dlg(this);&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 123:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 123:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;A exclusão de registos é simples uma vez que se tenha o índice do registo. O índice pode ser obtido como um objeto '''QModelIndex''' através de uma consulta ao componente de visualização. Este índice é então usado em uma chamada do método '''removeRow()''' (do modelo).&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;A exclusão de registos é simples uma vez que se tenha o índice do registo. O índice pode ser obtido como um objeto '''QModelIndex''' através de uma consulta ao componente de visualização. Este índice é então usado em uma chamada do método '''removeRow()''' (do modelo).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;code cpp&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;code cpp&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;-qt&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;// get the current index, if any&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;// get the current index, if any&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;QModelIndex sample = ui-&amp;gt;view-&amp;gt;currentIndex();&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;QModelIndex sample = ui-&amp;gt;view-&amp;gt;currentIndex();&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 141:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 141:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Depois de criar os métodos &amp;quot;'addRegister()''' e '''deleteRecord()''' é mais fácil gerar o código para o método '''editRecord()'''. Basicamente, obtenha o índice do registo e preencha o diálogo com informações deste registro. Depois, apresente este diálogo para o usuário e salve as alterações.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Depois de criar os métodos &amp;quot;'addRegister()''' e '''deleteRecord()''' é mais fácil gerar o código para o método '''editRecord()'''. Basicamente, obtenha o índice do registo e preencha o diálogo com informações deste registro. Depois, apresente este diálogo para o usuário e salve as alterações.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;code cpp&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;code cpp&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;-qt&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;// get the current index, if any&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;// get the current index, if any&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;QModelIndex sample = ui-&amp;gt;view-&amp;gt;currentIndex();&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;QModelIndex sample = ui-&amp;gt;view-&amp;gt;currentIndex();&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Hamishwillee</name></author>	</entry>

	<entry>
		<id>http://www.developer.nokia.com/Community/Wiki/index.php?title=Criando_aplica%C3%A7%C3%B5es_orientadas_a_banco_de_dados_usando_Qt&amp;diff=151548&amp;oldid=prev</id>
		<title>Hamishwillee: Text replace - &quot;Category:MeeGo&quot; to &quot;Category:MeeGo Harmattan&quot;</title>
		<link rel="alternate" type="text/html" href="http://www.developer.nokia.com/Community/Wiki/index.php?title=Criando_aplica%C3%A7%C3%B5es_orientadas_a_banco_de_dados_usando_Qt&amp;diff=151548&amp;oldid=prev"/>
				<updated>2012-06-13T10:52:30Z</updated>
		
		<summary type="html">&lt;p&gt;Text replace - &amp;quot;&lt;a href=&quot;/Community/Wiki/Category:MeeGo&quot; class=&quot;mw-redirect&quot; title=&quot;Category:MeeGo&quot;&gt;Category:MeeGo&lt;/a&gt;&amp;quot; to &amp;quot;&lt;a href=&quot;/Community/Wiki/Category:MeeGo_Harmattan&quot; title=&quot;Category:MeeGo Harmattan&quot;&gt;Category:MeeGo Harmattan&lt;/a&gt;&amp;quot;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 10:52, 13 June 2012&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 169:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 169:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Este programa foi testado em Maemo, Linux e Windows sem modificações. Você pode baixar todo o código fonte a partir [[Media:mba_sqlite_contacts.zip|deste link]].[[Category:Lang-Portuguese]][[Category:Qt]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Este programa foi testado em Maemo, Linux e Windows sem modificações. Você pode baixar todo o código fonte a partir [[Media:mba_sqlite_contacts.zip|deste link]].[[Category:Lang-Portuguese]][[Category:Qt]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;!-- Translation --&amp;gt; [[en:Creating database driven applications using Qt]][[Category:MeeGo]] [[Category:Symbian]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;!-- Translation --&amp;gt; [[en:Creating database driven applications using Qt]][[Category:MeeGo &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Harmattan&lt;/ins&gt;]] [[Category:Symbian]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Hamishwillee</name></author>	</entry>

	<entry>
		<id>http://www.developer.nokia.com/Community/Wiki/index.php?title=Criando_aplica%C3%A7%C3%B5es_orientadas_a_banco_de_dados_usando_Qt&amp;diff=134301&amp;oldid=prev</id>
		<title>Hamishwillee: Hamishwillee - Addition to article of: Category:MeeGo Category:Symbian. (Add platform categories)</title>
		<link rel="alternate" type="text/html" href="http://www.developer.nokia.com/Community/Wiki/index.php?title=Criando_aplica%C3%A7%C3%B5es_orientadas_a_banco_de_dados_usando_Qt&amp;diff=134301&amp;oldid=prev"/>
				<updated>2012-02-15T06:39:12Z</updated>
		
		<summary type="html">&lt;p&gt;Hamishwillee - Addition to article of: &lt;a href=&quot;/Community/Wiki/Category:MeeGo&quot; class=&quot;mw-redirect&quot; title=&quot;Category:MeeGo&quot;&gt;Category:MeeGo&lt;/a&gt; &lt;a href=&quot;/Community/Wiki/Category:Symbian&quot; title=&quot;Category:Symbian&quot;&gt;Category:Symbian&lt;/a&gt;. (Add platform categories)&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 06:39, 15 February 2012&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 169:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 169:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Este programa foi testado em Maemo, Linux e Windows sem modificações. Você pode baixar todo o código fonte a partir [[Media:mba_sqlite_contacts.zip|deste link]].[[Category:Lang-Portuguese]][[Category:Qt]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Este programa foi testado em Maemo, Linux e Windows sem modificações. Você pode baixar todo o código fonte a partir [[Media:mba_sqlite_contacts.zip|deste link]].[[Category:Lang-Portuguese]][[Category:Qt]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;!-- Translation --&amp;gt; [[en:Creating database driven applications using Qt]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;!-- Translation --&amp;gt; [[en:Creating database driven applications using Qt&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;]][[Category:MeeGo]] [[Category:Symbian&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Hamishwillee</name></author>	</entry>

	<entry>
		<id>http://www.developer.nokia.com/Community/Wiki/index.php?title=Criando_aplica%C3%A7%C3%B5es_orientadas_a_banco_de_dados_usando_Qt&amp;diff=121567&amp;oldid=prev</id>
		<title>Hamishwillee: Hamishwillee - Bot update of Template:ArticleMetaData - Deleting duplicate original translation link</title>
		<link rel="alternate" type="text/html" href="http://www.developer.nokia.com/Community/Wiki/index.php?title=Criando_aplica%C3%A7%C3%B5es_orientadas_a_banco_de_dados_usando_Qt&amp;diff=121567&amp;oldid=prev"/>
				<updated>2011-12-08T07:22:29Z</updated>
		
		<summary type="html">&lt;p&gt;Hamishwillee - Bot update of Template:ArticleMetaData - Deleting duplicate original translation link&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 07:22, 8 December 2011&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 13:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 13:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|language=Lang-Portuguese&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|language=Lang-Portuguese&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|translated-by=[[User:Marcelobarrosalmeida]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|translated-by=[[User:Marcelobarrosalmeida]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|translated-from-title=Creating database driven applications using Qt &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|translated-from-title=Creating database driven applications using Qt&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|translated-from-id=77405&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|translated-from-id=77405&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|review-by=&amp;lt;!-- After re-review: [[User:username]] --&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|review-by=&amp;lt;!-- After re-review: [[User:username]] --&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 21:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 21:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|creationdate=20100729&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|creationdate=20100729&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|author=[[User:Marcelobarrosalmeida]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|author=[[User:Marcelobarrosalmeida]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;}}&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Original em: [[Creating database driven applications using Qt ]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;= Introdução =&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;= Introdução =&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 170:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 169:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Este programa foi testado em Maemo, Linux e Windows sem modificações. Você pode baixar todo o código fonte a partir [[Media:mba_sqlite_contacts.zip|deste link]].[[Category:Lang-Portuguese]][[Category:Qt]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Este programa foi testado em Maemo, Linux e Windows sem modificações. Você pode baixar todo o código fonte a partir [[Media:mba_sqlite_contacts.zip|deste link]].[[Category:Lang-Portuguese]][[Category:Qt]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;!-- Translation --&amp;gt; [[en:Creating database driven applications using Qt ]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;!-- Translation --&amp;gt; [[en:Creating database driven applications using Qt]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Hamishwillee</name></author>	</entry>

	<entry>
		<id>http://www.developer.nokia.com/Community/Wiki/index.php?title=Criando_aplica%C3%A7%C3%B5es_orientadas_a_banco_de_dados_usando_Qt&amp;diff=120992&amp;oldid=prev</id>
		<title>Hamishwillee: Hamishwillee - Bot update of Template:ArticleMetaData</title>
		<link rel="alternate" type="text/html" href="http://www.developer.nokia.com/Community/Wiki/index.php?title=Criando_aplica%C3%A7%C3%B5es_orientadas_a_banco_de_dados_usando_Qt&amp;diff=120992&amp;oldid=prev"/>
				<updated>2011-12-07T04:32:26Z</updated>
		
		<summary type="html">&lt;p&gt;Hamishwillee - Bot update of Template:ArticleMetaData&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 04:32, 7 December 2011&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 12:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 12:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|id= &amp;lt;!-- Article Id (Knowledge base articles only) --&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|id= &amp;lt;!-- Article Id (Knowledge base articles only) --&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|language=Lang-Portuguese&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|language=Lang-Portuguese&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|translated-by= &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;!-- &lt;/del&gt;[[User: &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;XXXXX&lt;/del&gt;]] &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;--&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|translated-by=[[User:&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Marcelobarrosalmeida&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|translated-from-title=&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;!-- Title only --&amp;gt; &lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|translated-from-title=&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Creating database driven applications using Qt &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|translated-from-id= &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;!-- Id of translated revision --&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|translated-from-id=&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;77405&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|review-by=&amp;lt;!-- After re-review: [[User:username]] --&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|review-by=&amp;lt;!-- After re-review: [[User:username]] --&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|review-timestamp=&amp;lt;!-- After re-review: YYYYMMDD --&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|review-timestamp=&amp;lt;!-- After re-review: YYYYMMDD --&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 170:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 170:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Este programa foi testado em Maemo, Linux e Windows sem modificações. Você pode baixar todo o código fonte a partir [[Media:mba_sqlite_contacts.zip|deste link]].[[Category:Lang-Portuguese]][[Category:Qt]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Este programa foi testado em Maemo, Linux e Windows sem modificações. Você pode baixar todo o código fonte a partir [[Media:mba_sqlite_contacts.zip|deste link]].[[Category:Lang-Portuguese]][[Category:Qt]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;!-- Translation --&amp;gt; [[en:Creating database driven applications using Qt ]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key wiki:diff:version:1.11a:oldid:116976:newid:120992 --&gt;
&lt;/table&gt;</summary>
		<author><name>Hamishwillee</name></author>	</entry>

	<entry>
		<id>http://www.developer.nokia.com/Community/Wiki/index.php?title=Criando_aplica%C3%A7%C3%B5es_orientadas_a_banco_de_dados_usando_Qt&amp;diff=116976&amp;oldid=prev</id>
		<title>Hamishwillee: Hamishwillee - Bot addition of Template:ArticleMetaData</title>
		<link rel="alternate" type="text/html" href="http://www.developer.nokia.com/Community/Wiki/index.php?title=Criando_aplica%C3%A7%C3%B5es_orientadas_a_banco_de_dados_usando_Qt&amp;diff=116976&amp;oldid=prev"/>
				<updated>2011-11-10T04:29:33Z</updated>
		
		<summary type="html">&lt;p&gt;Hamishwillee - Bot addition of Template:ArticleMetaData&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 04:29, 10 November 2011&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Original em: [[Creating database driven applications using Qt ]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;{{ArticleMetaData&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;|sourcecode=[[Media:mba_sqlite_contacts.zip]] &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;|installfile= &amp;lt;!-- Link to installation file (e.g. [[Media:The Installation File.sis]]) --&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;|devices= &amp;lt;!-- Devices tested against - e.g. ''devices=Nokia 6131 NFC, Nokia C7-00'') --&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;|sdk= &amp;lt;!-- SDK(s) built and tested against (e.g. [http://linktosdkdownload/ Nokia Qt SDK 1.1]) --&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;|platform= &amp;lt;!-- Compatible platforms - e.g. Symbian^1 and later, Qt 4.6 and later --&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;|devicecompatability= &amp;lt;!-- Compatible devices e.g.: All* (must have internal GPS) --&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;|dependencies= &amp;lt;!-- Any other/external dependencies e.g.: Google Maps Api v1.0 --&amp;gt; &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;|signing=&amp;lt;!-- Signing requirements - empty or one of: Self-Signed, DevCert, Manufacturer --&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;|capabilities=&amp;lt;!-- Capabilities required by the article/code example (e.g. Location, NetworkServices. --&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;|keywords= &amp;lt;!-- APIs, classes and methods (e.g. QSystemScreenSaver, QList, CBase --&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;|id= &amp;lt;!-- Article Id (Knowledge base articles only) --&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;|language=Lang-Portuguese&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;|translated-by= &amp;lt;!-- [[User: XXXXX]] --&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;|translated-from-title=&amp;lt;!-- Title only --&amp;gt; &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;|translated-from-id= &amp;lt;!-- Id of translated revision --&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;|review-by=&amp;lt;!-- After re-review: [[User:username]] --&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;|review-timestamp=&amp;lt;!-- After re-review: YYYYMMDD --&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;|update-by=&amp;lt;!-- After significant update: [[User:username]]--&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;|update-timestamp=&amp;lt;!-- After significant update: YYYYMMDD --&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;|creationdate=20100729&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;|author=[[User:Marcelobarrosalmeida]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;}}&lt;/ins&gt;Original em: [[Creating database driven applications using Qt ]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;= Introdução =&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;= Introdução =&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key wiki:diff:version:1.11a:oldid:106350:newid:116976 --&gt;
&lt;/table&gt;</summary>
		<author><name>Hamishwillee</name></author>	</entry>

	<entry>
		<id>http://www.developer.nokia.com/Community/Wiki/index.php?title=Criando_aplica%C3%A7%C3%B5es_orientadas_a_banco_de_dados_usando_Qt&amp;diff=106350&amp;oldid=prev</id>
		<title>Hamishwillee: Hamishwillee - Automated change of category from Lang-PT to Unlikely Category. (Moving)</title>
		<link rel="alternate" type="text/html" href="http://www.developer.nokia.com/Community/Wiki/index.php?title=Criando_aplica%C3%A7%C3%B5es_orientadas_a_banco_de_dados_usando_Qt&amp;diff=106350&amp;oldid=prev"/>
				<updated>2011-07-14T05:33:34Z</updated>
		
		<summary type="html">&lt;p&gt;Hamishwillee - Automated change of category from Lang-PT to Unlikely Category. (Moving)&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 05:33, 14 July 2011&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 147:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 147:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;= O código-fonte =&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;= O código-fonte =&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Este programa foi testado em Maemo, Linux e Windows sem modificações. Você pode baixar todo o código fonte a partir [[Media:mba_sqlite_contacts.zip|deste link]].[[Category:Lang-&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;PT&lt;/del&gt;]][[Category:Qt &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;(Português)&lt;/del&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Este programa foi testado em Maemo, Linux e Windows sem modificações. Você pode baixar todo o código fonte a partir [[Media:mba_sqlite_contacts.zip|deste link]].[[Category:Lang-&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Portuguese&lt;/ins&gt;]][[Category:Qt]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Hamishwillee</name></author>	</entry>

	<entry>
		<id>http://www.developer.nokia.com/Community/Wiki/index.php?title=Criando_aplica%C3%A7%C3%B5es_orientadas_a_banco_de_dados_usando_Qt&amp;diff=92617&amp;oldid=prev</id>
		<title>Hamishwillee: Fix link to Nokia Qt SDK to internal page</title>
		<link rel="alternate" type="text/html" href="http://www.developer.nokia.com/Community/Wiki/index.php?title=Criando_aplica%C3%A7%C3%B5es_orientadas_a_banco_de_dados_usando_Qt&amp;diff=92617&amp;oldid=prev"/>
				<updated>2011-05-05T06:04:23Z</updated>
		
		<summary type="html">&lt;p&gt;Fix link to Nokia Qt SDK to internal page&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 06:04, 5 May 2011&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Lang-PT]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Qt (Português)]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Original em: [[Creating database driven applications using Qt ]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Original em: [[Creating database driven applications using Qt ]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 8:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 5:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Uma outra característica interessante do Qt é o seu suporte a [http://en.wikipedia.org/wiki/SQL Structured Query Language (SQL)]. Usando a [http://doc.trolltech.com/4.6/model-view-introduction.html arquitetura model/view do Qt] e um conhecimento mínimo de SQL é possível criar aplicações poderosas orientadas a de banco de dados. Se você é novato em SQL é possível encontrar bons materiais introdutórios sobre SQL apenas pesquisando na internet. SQL é considerada a língua mais utilizada por [http://en.wikipedia.org/wiki/Relational_database_management_system sistemas de gerenciamento de banco de dados relacionais] e faz parte de qualquer curso de ciência da computação. Em especial, a implementação conhecida como [http://www.sqlite.org SQLite] é útil para aplicações móveis pois é&amp;#160; auto-contida, não necessita de servidor ou configuração e tem suporte a transações. SQLite tem sido usada em muitos projetos grandes como o Mozilla Firefox, nos smartphones Symbian, Skype, Solaris, PHP, Mac OS, entre outros, e é provavelmente&amp;#160; a [http://www.sqlite.org/mostdeployed.html a base de dados SQL mais implantada]. O suporte a SQLite em Qt está disponível para o desktop, Meego e Symbian.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Uma outra característica interessante do Qt é o seu suporte a [http://en.wikipedia.org/wiki/SQL Structured Query Language (SQL)]. Usando a [http://doc.trolltech.com/4.6/model-view-introduction.html arquitetura model/view do Qt] e um conhecimento mínimo de SQL é possível criar aplicações poderosas orientadas a de banco de dados. Se você é novato em SQL é possível encontrar bons materiais introdutórios sobre SQL apenas pesquisando na internet. SQL é considerada a língua mais utilizada por [http://en.wikipedia.org/wiki/Relational_database_management_system sistemas de gerenciamento de banco de dados relacionais] e faz parte de qualquer curso de ciência da computação. Em especial, a implementação conhecida como [http://www.sqlite.org SQLite] é útil para aplicações móveis pois é&amp;#160; auto-contida, não necessita de servidor ou configuração e tem suporte a transações. SQLite tem sido usada em muitos projetos grandes como o Mozilla Firefox, nos smartphones Symbian, Skype, Solaris, PHP, Mac OS, entre outros, e é provavelmente&amp;#160; a [http://www.sqlite.org/mostdeployed.html a base de dados SQL mais implantada]. O suporte a SQLite em Qt está disponível para o desktop, Meego e Symbian.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Neste artigo será demonstrado como é possível integrar recursos de banco de dados SQLite num aplicativo do tipo &amp;quot;contatos&amp;quot; usando a arquitetura model/view. O último [&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;http://www.forum.nokia.com/info/sw.nokia.com/id/e920da1a-5b18-42df-82c3-907413e525fb/Nokia_Qt_SDK.htm &lt;/del&gt;SDK Qt Nokia ] será utilizado neste exemplo.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Neste artigo será demonstrado como é possível integrar recursos de banco de dados SQLite num aplicativo do tipo &amp;quot;contatos&amp;quot; usando a arquitetura model/view. O último [&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[Nokia Qt SDK|&lt;/ins&gt;SDK Qt Nokia&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;]&lt;/ins&gt;] será utilizado neste exemplo.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Se você estiver usando dispositivos como Maemo N900, é necessário instalar o suporte a SQLite para Qt antes de testar esta aplicação no seu dispositivo. Para isso, abra um terminal e digite os seguintes comandos:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Se você estiver usando dispositivos como Maemo N900, é necessário instalar o suporte a SQLite para Qt antes de testar esta aplicação no seu dispositivo. Para isso, abra um terminal e digite os seguintes comandos:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 150:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 147:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;= O código-fonte =&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;= O código-fonte =&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Este programa foi testado em Maemo, Linux e Windows sem modificações. Você pode baixar todo o código fonte a partir [[Media:mba_sqlite_contacts.zip|deste link]].&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Este programa foi testado em Maemo, Linux e Windows sem modificações. Você pode baixar todo o código fonte a partir [[Media:mba_sqlite_contacts.zip|deste link]].&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[[Category:Lang-PT]][[Category:Qt (Português)]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Hamishwillee</name></author>	</entry>

	<entry>
		<id>http://www.developer.nokia.com/Community/Wiki/index.php?title=Criando_aplica%C3%A7%C3%B5es_orientadas_a_banco_de_dados_usando_Qt&amp;diff=77466&amp;oldid=prev</id>
		<title>Marcelobarrosalmeida: fixing small errors</title>
		<link rel="alternate" type="text/html" href="http://www.developer.nokia.com/Community/Wiki/index.php?title=Criando_aplica%C3%A7%C3%B5es_orientadas_a_banco_de_dados_usando_Qt&amp;diff=77466&amp;oldid=prev"/>
				<updated>2010-07-29T04:11:57Z</updated>
		
		<summary type="html">&lt;p&gt;fixing small errors&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 04:11, 29 July 2010&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 6:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 6:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;= Introdução =&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;= Introdução =&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Uma outra característica interessante do Qt é o seu suporte a [http://en.wikipedia.org/wiki/SQL Structured Query Language (SQL)]. Usando a [http://doc.trolltech.com/4.6/model-view-introduction.html arquitetura model/view do Qt] e um conhecimento mínimo de SQL é possível criar aplicações &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;poderoas &lt;/del&gt;orientadas a de banco de dados. Se você é novato em SQL é possível encontrar bons materiais introdutórios sobre SQL apenas pesquisando na &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;web&lt;/del&gt;. SQL é considerada a língua mais utilizada por [http://en.wikipedia.org/wiki/Relational_database_management_system sistemas de gerenciamento de banco de dados relacionais] e faz parte de qualquer curso de ciência da computação. Em especial, a implementação conhecida como [http://www.sqlite.org SQLite] é útil para aplicações móveis pois é&amp;#160; auto-&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;contido&lt;/del&gt;, não necessita de servidor ou configuração e tem suporte a transações. SQLite tem sido &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;usado &lt;/del&gt;em muitos projetos grandes como o Mozilla Firefox, nos smartphones Symbian, Skype, Solaris, PHP, Mac OS, entre outros, e é provavelmente&amp;#160; a [http://www.sqlite.org/mostdeployed.html a base de dados SQL mais implantada]. O suporte a SQLite em Qt está disponível para o desktop, Meego e Symbian.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Uma outra característica interessante do Qt é o seu suporte a [http://en.wikipedia.org/wiki/SQL Structured Query Language (SQL)]. Usando a [http://doc.trolltech.com/4.6/model-view-introduction.html arquitetura model/view do Qt] e um conhecimento mínimo de SQL é possível criar aplicações &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;poderosas &lt;/ins&gt;orientadas a de banco de dados. Se você é novato em SQL é possível encontrar bons materiais introdutórios sobre SQL apenas pesquisando na &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;internet&lt;/ins&gt;. SQL é considerada a língua mais utilizada por [http://en.wikipedia.org/wiki/Relational_database_management_system sistemas de gerenciamento de banco de dados relacionais] e faz parte de qualquer curso de ciência da computação. Em especial, a implementação conhecida como [http://www.sqlite.org SQLite] é útil para aplicações móveis pois é&amp;#160; auto-&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;contida&lt;/ins&gt;, não necessita de servidor ou configuração e tem suporte a transações. SQLite tem sido &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;usada &lt;/ins&gt;em muitos projetos grandes como o Mozilla Firefox, nos smartphones Symbian, Skype, Solaris, PHP, Mac OS, entre outros, e é provavelmente&amp;#160; a [http://www.sqlite.org/mostdeployed.html a base de dados SQL mais implantada]. O suporte a SQLite em Qt está disponível para o desktop, Meego e Symbian.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Neste artigo será demonstrado como é possível integrar recursos de banco de dados SQLite num aplicativo do tipo &amp;quot;contatos&amp;quot; usando a arquitetura model/view. O último [http://www.forum.nokia.com/info/sw.nokia.com/id/e920da1a-5b18-42df-82c3-907413e525fb/Nokia_Qt_SDK.htm SDK Qt Nokia ] será utilizado neste exemplo.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Neste artigo será demonstrado como é possível integrar recursos de banco de dados SQLite num aplicativo do tipo &amp;quot;contatos&amp;quot; usando a arquitetura model/view. O último [http://www.forum.nokia.com/info/sw.nokia.com/id/e920da1a-5b18-42df-82c3-907413e525fb/Nokia_Qt_SDK.htm SDK Qt Nokia ] será utilizado neste exemplo.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 19:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 19:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Para usuários Symbian, o aplicativo '''sqlite3.sis''' é necessário. Ele pode ser encontrado dentro do SDK&amp;#160; em '''\NokiaQtSDK\Symbian\sis\sqlite3.sis''' ou pronto para a instalação a partir do menu Iniciar (Nokia Qt SDK -&amp;gt; Symbian -&amp;gt; Install SQLite to Symbian).&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Para usuários Symbian, o aplicativo '''sqlite3.sis''' é necessário. Ele pode ser encontrado dentro do SDK&amp;#160; em '''\NokiaQtSDK\Symbian\sis\sqlite3.sis''' ou pronto para a instalação a partir do menu Iniciar (Nokia Qt SDK -&amp;gt; Symbian -&amp;gt; Install SQLite to Symbian).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Se você não quiser usar um dispositivo real, uma alternativa é usar o simulador Qt, disponível também no SDK. Neste caso, nenhuma instalação adicional é necessária.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Se você não quiser usar um dispositivo real, uma alternativa é usar o simulador &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;do &lt;/ins&gt;Qt, disponível também no SDK. Neste caso, nenhuma instalação adicional é necessária.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;= Classes Qt para acessar SQLite =&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;= Classes Qt para acessar SQLite =&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 29:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 29:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* '''Camada de interface com o usuário''': um conjunto de classes para ser usado com a arquitetura model/view do Qt.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* '''Camada de interface com o usuário''': um conjunto de classes para ser usado com a arquitetura model/view do Qt.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Somente a segunda e terceira camadas serão utilizados neste artigo, representada pelas seguintes classes disponíveis na arquitetura &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;movel&lt;/del&gt;/view:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Somente a segunda e terceira camadas serão utilizados neste artigo, representada pelas seguintes classes disponíveis na arquitetura &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;model&lt;/ins&gt;/view:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* '''QSqlDatabase''': o conector do banco de dados (fonte de dados para o model/view). Como o SQLite é mapeado em um arquivo, a conexão é direta. Para bancos de dados mais sofisticados, parâmetros como login, senha e&amp;#160; portas podem ser fornecidos.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* '''QSqlDatabase''': o conector do banco de dados (fonte de dados para o model/view). Como o SQLite é mapeado em um arquivo, a conexão é direta. Para bancos de dados mais sofisticados, parâmetros como login, senha e&amp;#160; portas podem ser fornecidos.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 40:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 40:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;= Conectando o banco de dados SQLite a arquitetura model/view do Qt =&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;= Conectando o banco de dados SQLite a arquitetura model/view do Qt =&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Como as bases de dados SQLite são mapeados em arquivos, a conexão com o banco de dados consiste apenas em especificar o arquivo a ser utilizado. Naturalmente, o caminho para o arquivo pode ser diferente se você está programando para Meego ou Symbian&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;, &lt;/del&gt;e você deve prever esta situação com declarações do tipo&amp;#160; #ifdef Q_OS_SYMBIAN. Além disso, será preciso criar a estrutura de dados dentro deste arquivo antes de usá-lo para armazenar registros.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Como as bases de dados SQLite são mapeados em arquivos, a conexão com o banco de dados consiste apenas em especificar o arquivo a ser utilizado. Naturalmente, o caminho para o arquivo pode ser diferente se você está programando para Meego ou Symbian e você deve prever esta situação com declarações do tipo&amp;#160; #ifdef Q_OS_SYMBIAN. Além disso, será preciso criar a estrutura de dados dentro deste arquivo antes de usá-lo para armazenar registros.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;No trecho de código seguinte o conector do banco de dados é criado e o banco de dados aberto. Se a estrutura de banco de dados ainda não existir ela será criada.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;No trecho de código seguinte o conector do banco de dados é criado e o banco de dados aberto. Se a estrutura de banco de dados ainda não existir ela será criada.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 63:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 63:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;O próximo passo é associar essa banco de dados à arquitetura model/view. Os métodos '''setTable()''' (da classe de modelo) e '''setModel()''' (da classe de visualização) são utilizados para realizar essa tarefa. É necessário chamar '''select()''' para preencher o modelo com os dados da tabela e o desenvolvedor pode escolher ainda a sua estratégia de edição chamando '''setEditEstrategy()''. Neste caso, usando '''QSqlTableModel::OnFieldChange''', qualquer mudança será aplicada imediatamente ao banco de dados.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;O próximo passo é associar essa banco de dados à arquitetura model/view. Os métodos '''setTable()''' (da classe de modelo) e '''setModel()''' (da classe de visualização) são utilizados para realizar essa tarefa. É necessário chamar '''select()''' para preencher o modelo com os dados da tabela e o desenvolvedor pode escolher ainda a sua estratégia de edição chamando '''setEditEstrategy()&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'&lt;/ins&gt;''. Neste caso, usando '''QSqlTableModel::OnFieldChange''', qualquer mudança será aplicada imediatamente ao banco de dados.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;code cpp&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;code cpp&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 81:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 81:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;= Adicionando registros =&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;= Adicionando registros =&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Uma vez que os registros podem ser visualizados, a próxima tarefa é criar um diálogo para a coleta de dados dos usuários. O editor de formulários do Qt Creator torna esta tarefa muito fácil e um diálogo simples com apenas dois campos (nome e telefone) &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;são necessários &lt;/del&gt;para esta aplicação &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;demo&lt;/del&gt;. Crie este diálogo e as classes relacionadas e adicione ao projeto, criando callbacks para os botões&amp;#160; '''Cancel''' e '''Ok'''. Para mostrar o diálogo você precisará usar o método '''exec()'''. Depois de o diálogo ser fechado, você pode verificar se ele tem dados válidos e então adicioná-los ao banco de dados como um novo registo. O método '''record()''' (do modelo) retornará um registro de SQL que corresponde à sua especificação de banco de dados você pode preencher esse registro usando o método&amp;#160; '''setValue()'''. [http://doc.trolltech.com/4.6/properties.html Qt properties] foram utilizados na classe de diálogo para ajudar a recolher os dados necessários e o método '''insertRecord()''' irá adicionar este registro ao banco de dados.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Uma vez que os registros podem ser visualizados, a próxima tarefa é criar um diálogo para a coleta de dados dos usuários. O editor de formulários do Qt Creator torna esta tarefa muito fácil e um diálogo simples com apenas dois campos (nome e telefone) &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;é necessário &lt;/ins&gt;para esta aplicação. Crie este diálogo e as classes relacionadas e adicione ao projeto, criando callbacks para os botões&amp;#160; '''Cancel''' e '''Ok'''. Para mostrar o diálogo você precisará usar o método '''exec()'''. Depois de o diálogo ser fechado, você pode verificar se ele tem dados válidos e então adicioná-los ao banco de dados como um novo registo. O método '''record()''' (do modelo) retornará um registro de SQL que corresponde à sua especificação de banco de dados &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;que &lt;/ins&gt;você pode preencher esse registro usando o método&amp;#160; '''setValue()'''. [http://doc.trolltech.com/4.6/properties.html Qt properties] foram utilizados na classe de diálogo para ajudar a recolher os dados necessários e o método '''insertRecord()''' irá adicionar este registro ao banco de dados.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;code cpp&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;code cpp&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 103:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 103:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;= Excluindo registros =&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;= Excluindo registros =&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;A exclusão de registos é simples uma vez que se tenha o índice do registo. O índice pode ser obtido como um objeto '''QModelIndex''' através de uma consulta ao componente de visualização. Este índice é então usado em uma chamada do método '''removeRow()'' (do modelo).&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;A exclusão de registos é simples uma vez que se tenha o índice do registo. O índice pode ser obtido como um objeto '''QModelIndex''' através de uma consulta ao componente de visualização. Este índice é então usado em uma chamada do método '''removeRow()&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'&lt;/ins&gt;'' (do modelo).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;code cpp&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;code cpp&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 146:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 146:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;= Conclusão =&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;= Conclusão =&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Com o Qt é possível criar programas concisos que usam persistência de dados SQL em poucas linhas de códigos. Em especial, a abstração para o SQLite provida pelo Qt é realmente simples quando usada em conjunto com a arquitetura model/view do Qt.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Com o Qt é possível criar programas concisos que usam persistência &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;de dadosem bancos &lt;/ins&gt;de dados SQL em poucas linhas de códigos. Em especial, a abstração para o SQLite provida pelo Qt é realmente simples quando usada em conjunto com a arquitetura model/view do Qt.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;= O código-fonte =&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;= O código-fonte =&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Este programa foi testado em Maemo, Linux e Windows sem modificações. Você pode baixar todo o código fonte a partir [[Media:mba_sqlite_contacts.zip|deste link]].&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Este programa foi testado em Maemo, Linux e Windows sem modificações. Você pode baixar todo o código fonte a partir [[Media:mba_sqlite_contacts.zip|deste link]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Marcelobarrosalmeida</name></author>	</entry>

	<entry>
		<id>http://www.developer.nokia.com/Community/Wiki/index.php?title=Criando_aplica%C3%A7%C3%B5es_orientadas_a_banco_de_dados_usando_Qt&amp;diff=77465&amp;oldid=prev</id>
		<title>Marcelobarrosalmeida: translating original article &quot;Creating database driven applications using Qt &quot;</title>
		<link rel="alternate" type="text/html" href="http://www.developer.nokia.com/Community/Wiki/index.php?title=Criando_aplica%C3%A7%C3%B5es_orientadas_a_banco_de_dados_usando_Qt&amp;diff=77465&amp;oldid=prev"/>
				<updated>2010-07-29T03:54:19Z</updated>
		
		<summary type="html">&lt;p&gt;translating original article &amp;quot;Creating database driven applications using Qt &amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Category:Lang-PT]]&lt;br /&gt;
[[Category:Qt (Português)]]&lt;br /&gt;
&lt;br /&gt;
Original em: [[Creating database driven applications using Qt ]]&lt;br /&gt;
&lt;br /&gt;
= Introdução =&lt;br /&gt;
&lt;br /&gt;
Uma outra característica interessante do Qt é o seu suporte a [http://en.wikipedia.org/wiki/SQL Structured Query Language (SQL)]. Usando a [http://doc.trolltech.com/4.6/model-view-introduction.html arquitetura model/view do Qt] e um conhecimento mínimo de SQL é possível criar aplicações poderoas orientadas a de banco de dados. Se você é novato em SQL é possível encontrar bons materiais introdutórios sobre SQL apenas pesquisando na web. SQL é considerada a língua mais utilizada por [http://en.wikipedia.org/wiki/Relational_database_management_system sistemas de gerenciamento de banco de dados relacionais] e faz parte de qualquer curso de ciência da computação. Em especial, a implementação conhecida como [http://www.sqlite.org SQLite] é útil para aplicações móveis pois é  auto-contido, não necessita de servidor ou configuração e tem suporte a transações. SQLite tem sido usado em muitos projetos grandes como o Mozilla Firefox, nos smartphones Symbian, Skype, Solaris, PHP, Mac OS, entre outros, e é provavelmente  a [http://www.sqlite.org/mostdeployed.html a base de dados SQL mais implantada]. O suporte a SQLite em Qt está disponível para o desktop, Meego e Symbian.&lt;br /&gt;
&lt;br /&gt;
Neste artigo será demonstrado como é possível integrar recursos de banco de dados SQLite num aplicativo do tipo &amp;quot;contatos&amp;quot; usando a arquitetura model/view. O último [http://www.forum.nokia.com/info/sw.nokia.com/id/e920da1a-5b18-42df-82c3-907413e525fb/Nokia_Qt_SDK.htm SDK Qt Nokia ] será utilizado neste exemplo.&lt;br /&gt;
&lt;br /&gt;
Se você estiver usando dispositivos como Maemo N900, é necessário instalar o suporte a SQLite para Qt antes de testar esta aplicação no seu dispositivo. Para isso, abra um terminal e digite os seguintes comandos:&lt;br /&gt;
&lt;br /&gt;
 sudo gainroot&lt;br /&gt;
 apt-get install libqt4-sql-sqlite&lt;br /&gt;
&lt;br /&gt;
''sudo gainroot permite executar comandos no seu celular como administrador, devendo ser usado com cuidado''.&lt;br /&gt;
&lt;br /&gt;
Para usuários Symbian, o aplicativo '''sqlite3.sis''' é necessário. Ele pode ser encontrado dentro do SDK  em '''\NokiaQtSDK\Symbian\sis\sqlite3.sis''' ou pronto para a instalação a partir do menu Iniciar (Nokia Qt SDK -&amp;gt; Symbian -&amp;gt; Install SQLite to Symbian).&lt;br /&gt;
&lt;br /&gt;
Se você não quiser usar um dispositivo real, uma alternativa é usar o simulador Qt, disponível também no SDK. Neste caso, nenhuma instalação adicional é necessária.&lt;br /&gt;
&lt;br /&gt;
= Classes Qt para acessar SQLite =&lt;br /&gt;
&lt;br /&gt;
Usando Qt, as classes SQL são divididos em [http://doc.trolltech.com/4.6/sql-programming.html três camadas]:&lt;br /&gt;
&lt;br /&gt;
* '''Camada de driver''': um conjunto de classes úteis para aqueles que querem criar seu próprio driver para banco de dados ou adicionar alguma personalização aos já existentes.&lt;br /&gt;
* '''Camada da API SQL''': o acesso básico ao banco de dados, como conexões, erros, manipulação de campos e assim por diante.&lt;br /&gt;
* '''Camada de interface com o usuário''': um conjunto de classes para ser usado com a arquitetura model/view do Qt.&lt;br /&gt;
&lt;br /&gt;
Somente a segunda e terceira camadas serão utilizados neste artigo, representada pelas seguintes classes disponíveis na arquitetura movel/view:&lt;br /&gt;
&lt;br /&gt;
* '''QSqlDatabase''': o conector do banco de dados (fonte de dados para o model/view). Como o SQLite é mapeado em um arquivo, a conexão é direta. Para bancos de dados mais sofisticados, parâmetros como login, senha e  portas podem ser fornecidos.&lt;br /&gt;
* '''QSqlTableModel''': usado como modelo, ele irá fornecer uma interface de alto nível para acesso ao banco de dados.&lt;br /&gt;
* '''QTreeView''': é o objeto de visualização utilizado para mostrar os registros do banco de dados.&lt;br /&gt;
&lt;br /&gt;
[[Image:MBA-modelview-overview.png|Qt model/view]]&lt;br /&gt;
[http://doc.trolltech.com/4.6/images/modelview-overview.png]&lt;br /&gt;
&lt;br /&gt;
= Conectando o banco de dados SQLite a arquitetura model/view do Qt =&lt;br /&gt;
&lt;br /&gt;
Como as bases de dados SQLite são mapeados em arquivos, a conexão com o banco de dados consiste apenas em especificar o arquivo a ser utilizado. Naturalmente, o caminho para o arquivo pode ser diferente se você está programando para Meego ou Symbian, e você deve prever esta situação com declarações do tipo  #ifdef Q_OS_SYMBIAN. Além disso, será preciso criar a estrutura de dados dentro deste arquivo antes de usá-lo para armazenar registros.&lt;br /&gt;
&lt;br /&gt;
No trecho de código seguinte o conector do banco de dados é criado e o banco de dados aberto. Se a estrutura de banco de dados ainda não existir ela será criada.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code cpp&amp;gt;&lt;br /&gt;
// using SQLITE driver&lt;br /&gt;
QSqlDatabase db = QSqlDatabase::addDatabase(&amp;quot;QSQLITE&amp;quot;);&lt;br /&gt;
db.setDatabaseName(&amp;quot;path_to_database_file&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
if (db.open()) {&lt;br /&gt;
    // Try to locate the contacts database.&lt;br /&gt;
    // If it is not available create it.&lt;br /&gt;
    if (db.tables().indexOf(&amp;quot;contacts&amp;quot;) == -1) {&lt;br /&gt;
        QSqlQuery query(db);&lt;br /&gt;
        query.prepare(&amp;quot;CREATE TABLE contacts (name VARCHAR(32), phone VARCHAR(16))&amp;quot;);&lt;br /&gt;
        if (!query.exec())&lt;br /&gt;
            qCritical() &amp;lt;&amp;lt; query.lastError();&lt;br /&gt;
    }&lt;br /&gt;
} else {&lt;br /&gt;
    qCritical() &amp;lt;&amp;lt; db.lastError();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O próximo passo é associar essa banco de dados à arquitetura model/view. Os métodos '''setTable()''' (da classe de modelo) e '''setModel()''' (da classe de visualização) são utilizados para realizar essa tarefa. É necessário chamar '''select()''' para preencher o modelo com os dados da tabela e o desenvolvedor pode escolher ainda a sua estratégia de edição chamando '''setEditEstrategy()''. Neste caso, usando '''QSqlTableModel::OnFieldChange''', qualquer mudança será aplicada imediatamente ao banco de dados.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code cpp&amp;gt;&lt;br /&gt;
// create a new model and use the contacts table&lt;br /&gt;
QSqlTableModel *model = new QSqlTableModel(this, db);&lt;br /&gt;
model-&amp;gt;setTable(&amp;quot;contacts&amp;quot;);&lt;br /&gt;
// All changes to the model will be applied immediately to the database&lt;br /&gt;
model-&amp;gt;setEditStrategy(QSqlTableModel::OnFieldChange);&lt;br /&gt;
// Populate the model with data from table&lt;br /&gt;
model-&amp;gt;select();&lt;br /&gt;
// creating the model/view association&lt;br /&gt;
ui-&amp;gt;view-&amp;gt;setModel(model);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Agora o seu aplicativo está pronto para rodar e todos os dados do banco de dados estarão disponíveis para o usuário através do componente de visualização. Além disso, sua aplicação tem suporte para persistência de dados sem nenhuma linha de código, todos os registros serão mantidos entre as execuções sucessivas do programa.&lt;br /&gt;
&lt;br /&gt;
= Adicionando registros =&lt;br /&gt;
&lt;br /&gt;
Uma vez que os registros podem ser visualizados, a próxima tarefa é criar um diálogo para a coleta de dados dos usuários. O editor de formulários do Qt Creator torna esta tarefa muito fácil e um diálogo simples com apenas dois campos (nome e telefone) são necessários para esta aplicação demo. Crie este diálogo e as classes relacionadas e adicione ao projeto, criando callbacks para os botões  '''Cancel''' e '''Ok'''. Para mostrar o diálogo você precisará usar o método '''exec()'''. Depois de o diálogo ser fechado, você pode verificar se ele tem dados válidos e então adicioná-los ao banco de dados como um novo registo. O método '''record()''' (do modelo) retornará um registro de SQL que corresponde à sua especificação de banco de dados você pode preencher esse registro usando o método  '''setValue()'''. [http://doc.trolltech.com/4.6/properties.html Qt properties] foram utilizados na classe de diálogo para ajudar a recolher os dados necessários e o método '''insertRecord()''' irá adicionar este registro ao banco de dados.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code cpp&amp;gt;&lt;br /&gt;
// Create a new empty dialog and show it using exec()&lt;br /&gt;
NewContact dlg(this);&lt;br /&gt;
dlg.resetName();&lt;br /&gt;
dlg.resetPhone();&lt;br /&gt;
&lt;br /&gt;
if(dlg.exec() == QDialog::Accepted &amp;amp;&amp;amp; dlg.name().length() &amp;gt; 0) {&lt;br /&gt;
    // create a record from the current model&lt;br /&gt;
    QSqlRecord rec = model-&amp;gt;record();&lt;br /&gt;
    rec.setValue(&amp;quot;name&amp;quot;, dlg.name());&lt;br /&gt;
    rec.setValue(&amp;quot;phone&amp;quot;, dlg.phone());&lt;br /&gt;
    // insert a new record (-1)&lt;br /&gt;
    model-&amp;gt;insertRecord(-1,rec);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:mba_sqlite_newcont.png|400px|Inserindo novos registros (Windows 7)]]&lt;br /&gt;
&lt;br /&gt;
= Excluindo registros =&lt;br /&gt;
&lt;br /&gt;
A exclusão de registos é simples uma vez que se tenha o índice do registo. O índice pode ser obtido como um objeto '''QModelIndex''' através de uma consulta ao componente de visualização. Este índice é então usado em uma chamada do método '''removeRow()'' (do modelo).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code cpp&amp;gt;&lt;br /&gt;
// get the current index, if any&lt;br /&gt;
QModelIndex sample = ui-&amp;gt;view-&amp;gt;currentIndex();&lt;br /&gt;
if (sample.row() &amp;gt;= 0) {&lt;br /&gt;
    QMessageBox::StandardButton reply;&lt;br /&gt;
    reply = QMessageBox::question(this, tr(&amp;quot;Remove contact&amp;quot;),&lt;br /&gt;
                                QString(tr(&amp;quot;Remove contact ?&amp;quot;)),&lt;br /&gt;
                                QMessageBox::Yes | QMessageBox::No);&lt;br /&gt;
&lt;br /&gt;
    if(reply == QMessageBox::Yes)&lt;br /&gt;
        model-&amp;gt;removeRow(sample.row()); // remove the current index&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Modificando registros =&lt;br /&gt;
&lt;br /&gt;
Depois de criar os métodos &amp;quot;'addRegister()''' e '''deleteRecord()''' é mais fácil gerar o código para o método '''editRecord()'''. Basicamente, obtenha o índice do registo e preencha o diálogo com informações deste registro. Depois, apresente este diálogo para o usuário e salve as alterações.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code cpp&amp;gt;&lt;br /&gt;
// get the current index, if any&lt;br /&gt;
QModelIndex sample = ui-&amp;gt;view-&amp;gt;currentIndex();&lt;br /&gt;
if (sample.row() &amp;gt;= 0 ) {&lt;br /&gt;
    // copy the current record&lt;br /&gt;
    QSqlRecord rec = model-&amp;gt;record(sample.row());&lt;br /&gt;
    NewContact dlg(this);&lt;br /&gt;
    dlg.setName(rec.value(&amp;quot;name&amp;quot;).toString());&lt;br /&gt;
    dlg.setPhone(rec.value(&amp;quot;phone&amp;quot;).toString());&lt;br /&gt;
&lt;br /&gt;
    if (dlg.exec() == QDialog::Accepted) {&lt;br /&gt;
        rec.setValue(&amp;quot;name&amp;quot;,dlg.name());&lt;br /&gt;
        rec.setValue(&amp;quot;phone&amp;quot;,dlg.phone());&lt;br /&gt;
        // save modified data&lt;br /&gt;
        model-&amp;gt;setRecord(sample.row(),rec);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:mba_sqlite_mainwin.png|400px|Janela principal (Maemo)]]&lt;br /&gt;
&lt;br /&gt;
= Conclusão =&lt;br /&gt;
&lt;br /&gt;
Com o Qt é possível criar programas concisos que usam persistência de dados SQL em poucas linhas de códigos. Em especial, a abstração para o SQLite provida pelo Qt é realmente simples quando usada em conjunto com a arquitetura model/view do Qt.&lt;br /&gt;
&lt;br /&gt;
= O código-fonte =&lt;br /&gt;
&lt;br /&gt;
Este programa foi testado em Maemo, Linux e Windows sem modificações. Você pode baixar todo o código fonte a partir [[Media:mba_sqlite_contacts.zip|deste link]].&lt;/div&gt;</summary>
		<author><name>Marcelobarrosalmeida</name></author>	</entry>

	</feed>