<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Dicas Delphi &#187; DBExpress</title>
	<atom:link href="http://www.dicasdelphi.com.br/category/delphi/componentes/dbexpress-componentes-delphi/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dicasdelphi.com.br</link>
	<description>dicas, artigos, novidades e discussões sobre o mundo Delphi</description>
	<lastBuildDate>Wed, 29 Dec 2010 11:49:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>DBGrid com Imagens</title>
		<link>http://www.dicasdelphi.com.br/dbgrid-com-imagens/</link>
		<comments>http://www.dicasdelphi.com.br/dbgrid-com-imagens/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 11:26:38 +0000</pubDate>
		<dc:creator>Elton Conz</dc:creator>
				<category><![CDATA[DBExpress]]></category>
		<category><![CDATA[Dicas]]></category>
		<category><![CDATA[TCanvas]]></category>
		<category><![CDATA[DBGrid]]></category>
		<category><![CDATA[Imagens no DBGrid]]></category>

		<guid isPermaLink="false">http://www.dicasdelphi.com.br/?p=192</guid>
		<description><![CDATA[Esta é uma dica muito simples mas que produz um efeito muito legal. Já encontrei vários programas que, ao mostrar determinados dados em um DBGrid, pecavam pela falta de clareza. Por exemplo: Para mostrar se um cadastro estava ativo ou não, apresentava no grid uma coluna que era preenchida com Sim / Não.  Errado? Não. [...]]]></description>
			<content:encoded><![CDATA[<p>Esta é uma dica muito simples mas que produz um efeito muito legal.</p>
<p>Já encontrei vários programas que, ao mostrar determinados dados em um DBGrid, pecavam pela falta de clareza. Por exemplo: Para mostrar se um cadastro estava ativo ou não, apresentava no grid uma coluna que era preenchida com Sim / Não.  Errado? Não. Mas você concorda que pode ficar melhor não é?</p>
<p>Então ai vai minha dica para aperfeiçoar suas aplicações:</p>
<p>1. Estou partindo do ponto em que você ja tem seu ClientDataSet vinculado a um DataSource o qual ja se encontra vinculado a um DBGrid. No exemplo o ClientDataSet se chama TabAux e o DBGrid se chama Grade.</p>
<p>2. Insira um TImageList no seu form e adicione duas imagens.</p>
<p>Você pode baixar as imagens <a href="http://www.dicasdelphi.com.br/wp-content/uploads/2010/02/imagens.zip">clicando aqui</a></p>
<p><img class="alignnone size-medium wp-image-193" src="http://www.dicasdelphi.com.br/wp-content/uploads/2010/02/001-300x200.jpg" alt="TImageList" width="300" height="200" /></p>
<p>3. No evento OnDrawColumnCell do seu DBGrid escreva o seguinte código:</p>
<div class="codesnip-container" >
<div class="delphi codesnip" style="font-family:monospace;"><span class="kw1">if</span> Column<span class="sy1">.</span><span class="me1">Field</span><span class="sy3">=</span>TabAuxATIVO <span class="kw1">then</span><br />
<span class="kw1">begin</span></p>
<p>Grade<span class="sy1">.</span><span class="me1">Canvas</span><span class="sy1">.</span><span class="me1">FillRect</span><span class="br0">&#40;</span><span class="kw3">Rect</span><span class="br0">&#41;</span><span class="sy1">;</span></p>
<p><span class="co1">// Desenha o Quadrado</span><br />
ImageList1<span class="sy1">.</span><span class="me1">Draw</span><span class="br0">&#40;</span>Grade<span class="sy1">.</span><span class="me1">Canvas</span><span class="sy1">,</span><span class="kw3">Rect</span><span class="sy1">.</span><span class="me1">Left</span><span class="sy3">+</span>10<span class="sy1">,</span><span class="kw3">Rect</span><span class="sy1">.</span><span class="me1">Top</span><span class="sy3">+</span>1<span class="sy1">,</span>0<span class="br0">&#41;</span><span class="sy1">;</span></p>
<p><span class="co1">// Desenha o check sobre o quadrado quando ativo = &#8216;S&#8217;</span><br />
<span class="kw1">if</span> TabAuxATIVO<span class="sy1">.</span><span class="me1">Text</span><span class="sy3">=</span><span class="st0">&#8216;S&#8217;</span> <span class="kw1">then</span> <span class="co1">// Cadastro está ativo</span><br />
ImageList1<span class="sy1">.</span><span class="me1">Draw</span><span class="br0">&#40;</span>Grade<span class="sy1">.</span><span class="me1">Canvas</span><span class="sy1">,</span><span class="kw3">Rect</span><span class="sy1">.</span><span class="me1">Left</span><span class="sy3">+</span>10<span class="sy1">,</span><span class="kw3">Rect</span><span class="sy1">.</span><span class="me1">Top</span><span class="sy3">+</span>1<span class="sy1">,</span>1<span class="br0">&#41;</span><span class="sy1">;</span><br />
<span class="kw1">end</span><span class="sy1">;</span></div>
</div>
<p>4. O Resultado ficará assim</p>
<p><img class="alignnone size-medium wp-image-195" src="http://www.dicasdelphi.com.br/wp-content/uploads/2010/02/002-300x60.jpg" alt="DBGrid com Imagem" width="300" height="60" /></p>
<p>Espero que aproveite esta dica. Ela é simples, mas da um toque mais profissional para a sua aplicação.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dicasdelphi.com.br/dbgrid-com-imagens/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Utilizando DBExpress de uma Maneira Fácil</title>
		<link>http://www.dicasdelphi.com.br/utilizando-dbexpress-de-uma-maneira-facil/</link>
		<comments>http://www.dicasdelphi.com.br/utilizando-dbexpress-de-uma-maneira-facil/#comments</comments>
		<pubDate>Mon, 04 May 2009 18:45:53 +0000</pubDate>
		<dc:creator>tresloukadu</dc:creator>
				<category><![CDATA[Componentes]]></category>
		<category><![CDATA[DBExpress]]></category>
		<category><![CDATA[banco de dados]]></category>
		<category><![CDATA[classes]]></category>
		<category><![CDATA[Componente]]></category>

		<guid isPermaLink="false">http://www.dicasdelphi.com.br/?p=155</guid>
		<description><![CDATA[Artigo enviado por: Marcio F. Cruz DBExpress, segundo meus testes, é a melhor tecnologia para comunicação com banco de dados. Mas, infelizmente, exige a configuração de vários parâmetros e manipulação de vários componentes visuais. Pensando neste problema, resolvi criar um componente que contém um conjunto de classes, para facilitar a vida do programador em trabalhar [...]]]></description>
			<content:encoded><![CDATA[<p>Artigo enviado por: <a title="Autor do Artigo" href="mailto:programador@marciofcruz.com">Marcio F. Cruz</a></p>
<p>DBExpress, segundo meus testes, é a melhor tecnologia para comunicação com banco de dados. Mas, infelizmente, exige a configuração de vários parâmetros e manipulação de vários componentes visuais.</p>
<p>Pensando neste problema, resolvi criar um componente que contém um conjunto de classes, para facilitar a vida do programador em trabalhar com esta maravilhosa tecnologia.</p>
<p>Procurei criar as classes da melhor maneira possível, com os nomes dos métodos e propriedades o mais parecido possível com o que conhecemos e utilizamos em BDE, Zeos, ADO e mesmo no DBExpress.<br />
Neste artigo, descreverei como instalar e fazer uma aplicação simples. Espero que seja útil para a comunidade e, talvez, os pacotes e classes de suas regras de negócio a utilizem.</p>
<h2>Passo 1</h2>
<p>Download <a title="link para o componente" href="http://sourceforge.net/projects/dddbxfacil/" target="_blank">http://sourceforge.net/projects/dddbxfacil/</a><br />
Este pacote comtém o componente dddbxfacil com suas classes, bem como uma aplicação simples para utilizá-la.</p>
<h2>Passo 2</h2>
<p>Criar arquivo de configuração. Este arquivo, já está contido no pacote de exemplo e, ele contém a estrutura que é usada pelo dbconnections.ini e, serve para indicar os parâmetros para conexão ao banco de dados. Eu não costumo deixar o login e password contido neste arquivo mas, nada impede de se inserir nele.</p>
<p>A configuração que defini, foi para o Oracle mas, pode ser para qualquer banco que o Dbexpress é compatível que, acho que são todos:</p>
<div class="codesnip-container" >
<div class="ini codesnip" style="font-family:monospace;"><span class="re0"><span class="br0">&#91;</span>NOMESECAOCONFIGORACLE<span class="br0">&#93;</span></span><br />
<span class="re1">CONNECTIONNAME</span><span class="sy0">=</span><span class="re2">OracleConnection</span><br />
<span class="re1">GETDRIVERFUNC</span><span class="sy0">=</span><span class="re2">getSQLDriverORACLE</span><br />
<span class="re1">VENDORLIB</span><span class="sy0">=</span><span class="re2">oci.dll</span><br />
<span class="re1">LibraryName</span><span class="sy0">=</span><span class="re2">dbxora30.dll</span><br />
<span class="re1">DriverName</span><span class="sy0">=</span><span class="re2">Oracle</span><br />
<span class="re1">HostName</span><span class="sy0">=</span><br />
<span class="re1">Database</span><span class="sy0">=</span><br />
<span class="re1">User_Name</span><span class="sy0">=</span><br />
<span class="re1">Password</span><span class="sy0">=</span><br />
<span class="re1">BlobSize</span><span class="sy0">=</span><span class="re2">-1</span><br />
<span class="re1">ErrorResourceFile</span><span class="sy0">=</span><br />
<span class="re1">LocaleCode</span><span class="sy0">=</span><span class="re2">0000</span><br />
<span class="re1">Compressed</span><span class="sy0">=</span><span class="re2">False</span><br />
<span class="re1">Encrypted</span><span class="sy0">=</span><span class="re2">False</span></div>
</div>
<h2>Passo 3</h2>
<p>No uses de sua unit, vamos inserir as seguintes units:<br />
DB, DBTables, ddcomumDBX, ddconexaoDBX, ddsqlDBX, ddproviderDBX.</p>
<h2>Passo 4</h2>
<p>Vamos no private e, colocar as seguintes “variáveis”:</p>
<div class="codesnip-container" >
<div class="delphi codesnip" style="font-family:monospace;">ConexaoDBX<span class="sy1">:</span> TConexaoDBX<span class="sy1">;</span><br />
ProviderDBX<span class="sy1">:</span> TProviderDBX<span class="sy1">;</span><br />
SqlDBX<span class="sy1">:</span> TsqlDBX<span class="sy1">;</span></div>
</div>
<h2>Passo 5</h2>
<p>Este passo é opcional mas, para mostrar melhor o funcionamento da classe, criaremos um método chamado MeuDataChange, novamente apontar ele.</p>
<div class="codesnip-container" >
<div class="delphi codesnip" style="font-family:monospace;"><span class="co1">//No private:</span><br />
<span class="kw1">procedure</span> MeuDataChange<span class="br0">&#40;</span>Sender<span class="sy1">:</span> <span class="kw4">TObject</span><span class="sy1">;</span> Field<span class="sy1">:</span> Tfield<span class="br0">&#41;</span><span class="sy1">;</span></p>
<p><span class="co1">//No implementation</span><br />
<span class="kw1">procedure</span> TForm2<span class="sy1">.</span><span class="me1">MeuDataChange</span><span class="br0">&#40;</span>Sender<span class="sy1">:</span> <span class="kw4">TObject</span><span class="sy1">;</span> Field<span class="sy1">:</span> TField<span class="br0">&#41;</span><span class="sy1">;</span><br />
<span class="kw1">begin</span><br />
<span class="co1">// Nao é necessário colocar teste para ver se tabela tá aberta, DisableControls, etc&#8230;</span></p>
<p>grbTesteGrid<span class="sy1">.</span><span class="me1">Caption</span> <span class="sy1">:</span><span class="sy3">=</span> <span class="st0">&#8216;Testando o grid. Agora são &#8216;</span><span class="sy3">+</span><br />
<span class="kw3">FormatDateTime</span><span class="br0">&#40;</span><span class="st0">&#8216;dd/mm/yyyy hh:nn:ss&#8217;</span><span class="sy1">,</span> <span class="kw3">now</span><span class="br0">&#41;</span><span class="sy1">;</span><br />
<span class="kw1">end</span><span class="sy1">;</span></div>
</div>
<h2>Passo 6</h2>
<p>Precisamos instanciar as variáveis que criamos no private. Para isso, criei procedimentos para facilitar isso. No formShow, colocaremos o seguinte código:</p>
<div class="codesnip-container" >
<div class="delphi codesnip" style="font-family:monospace;">ddconexaoDBX<span class="sy1">.</span><span class="me1">ConexaoDBXInit</span><span class="br0">&#40;</span>ConexaoDBX<span class="sy1">,</span> &nbsp;<span class="kw2">nil</span><span class="sy1">,</span><br />
<span class="kw3">IncludeTrailingPathDelimiter</span><span class="br0">&#40;</span><span class="kw3">ExtractFilePath</span><span class="br0">&#40;</span>Application<span class="sy1">.</span><span class="me1">ExeName</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy3">+</span><span class="st0">&#8216;configuracao.ini&#8217;</span><span class="sy1">,</span><br />
<span class="st0">&#8216;NOMESECAOCONFIGORACLE&#8217;</span><span class="br0">&#41;</span><span class="sy1">;</span></p>
<p>ConexaoDBX<span class="sy1">.</span><span class="me1">Login</span> <span class="sy1">:</span><span class="sy3">=</span> <span class="st0">&#8216;usuario&#8217;</span><span class="sy1">;</span><br />
ConexaoDBX<span class="sy1">.</span><span class="me1">Senha</span> <span class="sy1">:</span><span class="sy3">=</span> <span class="st0">&#8216;senha&#8217;</span><span class="sy1">;</span></p>
<p>ddproviderDBX<span class="sy1">.</span><span class="me1">ProviderDBXInit</span><span class="br0">&#40;</span>ProviderDBX<span class="sy1">,</span><br />
ConexaoDBX<span class="sy1">,</span><br />
DBGrid1<span class="sy1">,</span><br />
<span class="st0">&#8216;ROWID&#8217;</span><span class="sy1">,</span><br />
<span class="kw2">true</span><span class="sy1">,</span><br />
MeuDataChange<span class="br0">&#41;</span><span class="sy1">;</span></p>
<p>ddsqlDBX<span class="sy1">.</span><span class="me1">SqlDBXInit</span><span class="br0">&#40;</span>SqlDBX<span class="sy1">,</span> ConexaoDBX<span class="br0">&#41;</span><span class="sy1">;</span></div>
</div>
<h2>Passo 7</h2>
<p>Exemplo de código para executar busca no banco de dados:</p>
<div class="codesnip-container" >
<div class="delphi codesnip" style="font-family:monospace;"><span class="kw1">procedure</span> TForm2<span class="sy1">.</span><span class="me1">btnProcurarClick</span><span class="br0">&#40;</span>Sender<span class="sy1">:</span> <span class="kw4">TObject</span><span class="br0">&#41;</span><span class="sy1">;</span><br />
<span class="kw1">var</span><br />
Retorno<span class="sy1">:</span> TProviderRetorno<span class="sy1">;</span><br />
<span class="kw1">begin</span><br />
ConexaoDBX<span class="sy1">.</span><span class="me1">ConectarSeDesconectado</span><span class="sy1">;</span></p>
<p>ProviderDBX<span class="sy1">.</span><span class="me1">ClearAll</span><span class="sy1">;</span><br />
<span class="kw1">with</span> ProviderDBX<span class="sy1">,</span> ProviderDBX<span class="sy1">.</span><span class="me1">LinhaSQL</span> <span class="kw1">do</span><br />
<span class="kw1">begin</span><br />
Add<span class="br0">&#40;</span><span class="st0">&#8216;SELECT * FROM TABELA&#8217;</span><span class="br0">&#41;</span><span class="sy1">;</span></p>
<p>Retorno <span class="sy1">:</span><span class="sy3">=</span> OpenDQL<span class="sy1">;</span><br />
<span class="kw1">end</span><span class="sy1">;</span><br />
<span class="kw1">end</span><span class="sy1">;</span></div>
</div>
<h2>Passo 8</h2>
<p>Exemplo de evento de inclusão:</p>
<div class="codesnip-container" >
<div class="delphi codesnip" style="font-family:monospace;"><span class="kw1">procedure</span> TForm2<span class="sy1">.</span><span class="me1">btnincluirClick</span><span class="br0">&#40;</span>Sender<span class="sy1">:</span> <span class="kw4">TObject</span><span class="br0">&#41;</span><span class="sy1">;</span><br />
<span class="kw1">var</span><br />
iProximoCodigo<span class="sy1">:</span> <span class="kw4">integer</span><span class="sy1">;</span><br />
<span class="kw1">begin</span><br />
ConexaoDBX<span class="sy1">.</span><span class="me1">ConectarSeDesconectado</span><span class="sy1">;</span></p>
<p><span class="co1">// Pegar Próximo Codigo</span><br />
<span class="kw1">with</span> SQLDBX <span class="kw1">do</span><br />
<span class="kw1">begin</span><br />
setLinhaSQL<span class="br0">&#40;</span><span class="st0">&#8216;SELECT MAX(CODIGO) PROXIMO FROM TABELA&#8217;</span><span class="br0">&#41;</span><span class="sy1">;</span></p>
<p>OpenDQL<span class="sy1">;</span></p>
<p>iProximoCodigo <span class="sy1">:</span><span class="sy3">=</span> SQLDQl<span class="sy1">.</span><span class="me1">FieldByName</span><span class="br0">&#40;</span><span class="st0">&#8216;PROXIMO&#8217;</span><span class="br0">&#41;</span><span class="sy1">.</span><span class="me1">AsInteger</span><span class="sy3">+</span><span class="nu0">1</span><span class="sy1">;</span><br />
<span class="kw1">end</span><span class="sy1">;</span></p>
<p>ConexaoDBX<span class="sy1">.</span><span class="me1">Transacao_Abrir</span><span class="sy1">;</span></p>
<p><span class="kw1">try</span><br />
<span class="co1">// Incluir</span><br />
<span class="kw1">with</span> SqlDBX <span class="kw1">do</span><br />
<span class="kw1">begin</span><br />
ClearAll<span class="sy1">;</span></p>
<p><span class="kw1">with</span> LinhaSQL <span class="kw1">do</span><br />
<span class="kw1">begin</span><br />
Add<span class="br0">&#40;</span><span class="st0">&#8216;INSERT INTO TABELA (CODIGO, DESCRICAO)&#8217;</span><span class="br0">&#41;</span><span class="sy1">;</span><br />
Add<span class="br0">&#40;</span><span class="st0">&#8216;VALUES&#8217;</span><span class="br0">&#41;</span><span class="sy1">;</span><br />
Add<span class="br0">&#40;</span><span class="st0">&#8216;(:P_CODIGO, <img src='http://www.dicasdelphi.com.br/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> _DESCRICAO)&#8217;</span><span class="br0">&#41;</span><span class="sy1">;</span><br />
<span class="kw1">end</span><span class="sy1">;</span></p>
<p>AddParam<span class="br0">&#40;</span>ftInteger<span class="sy1">,</span> <span class="st0">&#8216;P_CODIGO&#8217;</span><span class="sy1">,</span> iProximoCodigo<span class="br0">&#41;</span><span class="sy1">;</span><br />
AddParam<span class="br0">&#40;</span>ftString<span class="sy1">,</span> <span class="st0">&#8216;P_DESCRICAO&#8217;</span><span class="sy1">,</span> <span class="st0">&#8216;nome &#8216;</span><span class="sy3">+</span><span class="kw3">IntToStr</span><span class="br0">&#40;</span>iProximoCodigo<span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy1">;</span></p>
<p>ExecDML<span class="sy1">;</span><br />
<span class="kw1">end</span><span class="sy1">;</span></p>
<p>ConexaoDBX<span class="sy1">.</span><span class="me1">Transacao_Commit</span><span class="sy1">;</span><br />
<span class="kw1">except</span><br />
<span class="kw1">on</span> E<span class="sy1">:</span>Exception <span class="kw1">do</span><br />
<span class="kw1">begin</span><br />
ConexaoDBX<span class="sy1">.</span><span class="me1">Transacao_RollBack</span><span class="sy1">;</span></p>
<p>ShowMessage<span class="br0">&#40;</span>E<span class="sy1">.</span><span class="me1">Message</span><span class="br0">&#41;</span><span class="sy1">;</span><br />
<span class="kw1">end</span><span class="sy1">;</span><br />
<span class="kw1">end</span><span class="sy1">;</span><br />
<span class="kw1">end</span><span class="sy1">;</span></div>
</div>
<p>No arquivo que é baixado do sourceforge, este exemplo já está contido.</p>
<p>Qualquer dúvida, podem me escrever para meu e-mail que eu respondo:</p>
<p><a title="email para o desenvolvedor delphi" href="mailto:programador@marciofcruz.com">programador@marciofcruz.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dicasdelphi.com.br/utilizando-dbexpress-de-uma-maneira-facil/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Dica : Turbo Delphi e DBExpress com MySQL</title>
		<link>http://www.dicasdelphi.com.br/dica-turbo-delphi-e-dbexpress-com-mysql/</link>
		<comments>http://www.dicasdelphi.com.br/dica-turbo-delphi-e-dbexpress-com-mysql/#comments</comments>
		<pubDate>Mon, 10 Nov 2008 12:31:13 +0000</pubDate>
		<dc:creator>tresloukadu</dc:creator>
				<category><![CDATA[Componentes]]></category>
		<category><![CDATA[DBExpress]]></category>
		<category><![CDATA[Delphi]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Componente]]></category>

		<guid isPermaLink="false">http://www.dicasdelphi.com.br/?p=3</guid>
		<description><![CDATA[Vou mostar nesse artigo como acessar o MySQL com o componente DBExpress que já vem junto por padrão na IDE do Turbo Delphi. Para realizar a conexão com o MySQL precisamos de duas DLL&#8217;s. São elas: dbxopenmysql50.dll (Driver para conectar no MySQL versão 5) libmysql.dll (É interessante baixar a última versão). Os links para baixar [...]]]></description>
			<content:encoded><![CDATA[<p>Vou mostar nesse artigo como acessar o <strong>MySQL</strong> com o <strong>componente DBExpress</strong> que já vem junto por padrão na <strong>IDE</strong> do <strong>Turbo Delphi</strong>. Para realizar a conexão com o MySQL precisamos de duas DLL&#8217;s.</p>
<p>São elas:</p>
<ul>
<li>dbxopenmysql50.dll (Driver para conectar no MySQL versão 5)</li>
<li>libmysql.dll (É interessante baixar a última versão).</li>
</ul>
<p>Os links para baixar são:</p>
<ul>
<li><a title="DBExpress Open DLL" href="http://www.justsoftwaresolutions.co.uk/files/dbxopenmysql5_dll.zip" target="_blank">http://www.justsoftwaresolutions.co.uk/files/dbxopenmysql5_dll.zip</a></li>
<li><a title="Lib do MySQL" href="http://www.dll-download-system.com/dlls/libmysql.zip" target="_blank">http://www.dll-download-system.com/dlls/libmysql.zip</a></li>
</ul>
<p>Após baixar as duas dll&#8217;s você pode descompactar as duas na pasta do seu projeto (onde estão os seus arquivos .pas, .dfm e .exe).</p>
<p>Depois de executado esses passos temos que editar um arquivo .ini do DBExpress para que ele possa reconhecer o novo Driver para o MySQL 5 ( que no nosso caso é o dbxopenmysql50.dll ). É muito fácil temos que ir no seguinte caminho &#8220;C:\Arquivos de programas\Borland\BDS\4.0\dbExpress&#8221; e editar o seguinte arquivo <strong>dbxdrivers.ini</strong>.</p>
<p>(Se o caminho do arquivo apresentado aqui, não for o mesmo que o seu. Você pode utilizar o Localizar do windows para procurar onde está o dbxdrivers.ini no seu computador).</p>
<p>Na seção &#8221; [Installed Drivers] &#8221; adicione a seguinte linha ao final da seção: &#8221; <strong>OpenMySQL50=1</strong> &#8220;.</p>
<div class="codesnip-container" >
<div class="ini codesnip" style="font-family:monospace;"><span class="re0"><span class="br0">&#91;</span>Installed Drivers<span class="br0">&#93;</span></span><br />
<span class="re1">Interbase</span><span class="sy0">=</span><span class="re2">1</span><br />
<span class="re1">MYSQL</span><span class="sy0">=</span><span class="re2">1</span><br />
<span class="re1">ASA</span><span class="sy0">=</span><span class="re2">1</span><br />
<span class="re1">OpenMySQL50</span><span class="sy0">=</span><span class="re2">1</span></div>
</div>
<p>Agora precisamos colocar a seguinte seção no arquivo:</p>
<div class="codesnip-container" >
<div class="ini codesnip" style="font-family:monospace;"><span class="re0"><span class="br0">&#91;</span>OpenMySQL50<span class="br0">&#93;</span></span><br />
<span class="re1">LibraryName</span><span class="sy0">=</span><span class="re2">dbxopenmysql50.dll</span><br />
<span class="re1">GetDriverFunc</span><span class="sy0">=</span><span class="re2">getSQLDriverMYSQL50</span><br />
<span class="re1">VendorLib</span><span class="sy0">=</span><span class="re2">libmysql.dll</span><br />
<span class="re1">HostName</span><span class="sy0">=</span><span class="re2">localhost</span><br />
<span class="re1">Database</span><span class="sy0">=</span><span class="re2">Nome_da_Minha_Database</span><br />
<span class="re1">User_Name</span><span class="sy0">=</span><span class="re2">Login_do_Meu_Usuario</span><br />
<span class="re1">Password</span><span class="sy0">=</span><span class="re2">Senha_do_Meu_Usuario</span></div>
</div>
<p>Pontos para observar nessa seção: em LibraryName estamos declarando o nome da DLL (driver) com o banco que baixamos, a mesma coisa estamos fazendo em VendorLib. As três últimas linhas são as linhas que você vai colocar os dados de acesso da sua database.</p>
<p>Tudo Pronto!! <img src='http://www.dicasdelphi.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><em><strong>Passos Adicionais:</strong></em></p>
<p><em><strong>Teste de Acesso ao MySQL no Turbo Delphi com o DBExpress</strong></em><br />
Primeiro vamos criar um novo projeto:</p>
<div id="attachment_4" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.dicasdelphi.com.br/wp-content/uploads/2008/11/novo_projeto_no_delphi.jpg"><img class="size-medium wp-image-4" title="Novo projeto no Delphi" src="http://www.dicasdelphi.com.br/wp-content/uploads/2008/11/novo_projeto_no_delphi-300x219.jpg" alt="Novo projeto no Delphi" width="300" height="219" /></a><p class="wp-caption-text">Novo projeto no Delphi</p></div>
<p>Após isso recomendo salvar o seu projeto hehe.</p>
<p>Vamos agora adicionar os seguintes componentes no nosso form.</p>
<ul>
<li>dbExpress -&gt; TSQLConnection</li>
<li>Data Access -&gt; TDataSetProvider</li>
<li>dbExpress -&gt; TSQLTable</li>
<li>Data Access -&gt; TClientDataSet</li>
<li>Data Access -&gt; TDataSource</li>
</ul>
<p>E para testarmos vermos o resultado:</p>
<ul>
<li>Data Controls -&gt; TDBEdit</li>
</ul>
<p><strong>Configurações de Acesso a Database do MySQL</strong></p>
<p>Para abrir o editor de configuração é só darmos 2 cliques em cima do componente TSQLConnection. Agora vamos cliar no botão com um &#8220;+&#8221;  para criar uma nova conexão.</p>
<div id="attachment_5" class="wp-caption aligncenter" style="width: 456px"><a href="http://www.dicasdelphi.com.br/wp-content/uploads/2008/11/configurando_dbexpress.jpg"><img class="size-full wp-image-5" title="Criando uma nova conexão no DBExpress" src="http://www.dicasdelphi.com.br/wp-content/uploads/2008/11/configurando_dbexpress.jpg" alt="Criando uma nova conexão no DBExpress" width="446" height="360" /></a><p class="wp-caption-text">Criando uma nova conexão no DBExpress</p></div>
<p>Escolhemos o Driver OpenMySQL50 e informamos o nome de nossa conexão.</p>
<p>Agora temos que entrar com os dados de acesso ao banco de dados, como segue a imagem de exemplo:</p>
<div id="attachment_7" class="wp-caption aligncenter" style="width: 448px"><a href="http://www.dicasdelphi.com.br/wp-content/uploads/2008/11/testando_dbexpress.jpg"><img class="size-full wp-image-7" title="Configurando o DBExpress e Testando a Conexão" src="http://www.dicasdelphi.com.br/wp-content/uploads/2008/11/testando_dbexpress.jpg" alt="Configurando o DBExpress e Testando a Conexão" width="438" height="354" /></a><p class="wp-caption-text">Configurando o DBExpress e Testando a Conexão</p></div>
<p>Como observado no passo 5 da imagem, podemos clicar no botão &#8220;v&#8221; e verificar se a conexão já está funcionando. Se der algum erro nessa parte, eu recomendo reler este artigo novamente para procurar onde está o erro.</p>
<p>Se retornar sucesso podemos clicar em OK e retornar para o nosso form. Uma dica legal nessa parte do artigo é clicarmos no nosso objeto TSQLConnection e no Object Inspector na propriedade LoginPrompt  trocarmos de true para false.  Com isso o Turbo  Delphi não vai pedir para digitarmos a senha toda hora.</p>
<p>Depois dos passos acima executados, vamos setar as configurações nos outros componentes para acessarmos a Database. Precisamos de muita atenção agora.</p>
<p><span style="color: #0000ff;">Clicar no componente <strong>TSQLTable</strong> e no object inspector na propriedade <strong>SQLConnection</strong> selecionar <strong>SQLConnection1</strong> e em <strong>TableName</strong> selecionar alguma tabela do nosso banco de dados.</span></p>
<p>Agora vamos clicar no componente <strong>TDataSetProvider</strong> e na propriedade <strong>DataSet</strong> vamos selecionar a opção <strong>SQLTable1</strong>.</p>
<p><span style="color: #0000ff;">No componente <strong>TClientDataSet</strong> vamos setar duas propriedades, a primeira é <strong>ProviderName</strong> vamor selecionar a opção <strong>DataSetProvider1</strong> e na propriedade  <strong>Active</strong> vamos selecionar  a opção  <strong>true</strong>.</span></p>
<p>Já no compoente <strong>TDataSource</strong> vamos na propriedade DataSet e selecionamos a opção <strong>ClientDataSet1</strong>.</p>
<p><span style="color: #0000ff;">Agora por último vamos exibir alguma informação da database no nosso componente <strong>DBEdit1</strong>. Na propriedade <strong>DataSource</strong> vamos selecionar a opção <strong>DataSource1</strong> e na propriedade <strong>DataField</strong> vamos selcionar alguma coluna da tabela que informamos no componente TSQLTable. Após selecionar o nome da coluna o dado já vai aparecer no DBEdit. <img src='http://www.dicasdelphi.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </span></p>
<p>Após isso podemos dar um F9  e compilar o nosso projeto. Ou ainda podemos colocar os outros componentes da Seção Data Controls no nosso formulário. O processo é basicamente igual ao que fizemos no nosso DBEDit.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dicasdelphi.com.br/dica-turbo-delphi-e-dbexpress-com-mysql/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

