delphi uniDac
<p>Delphi 2010安装及使用UniDAC 4.0</p><p>UniDAC是一个功能强大的非可视化跨数据库的数据访问组件,可用于Delphi,Delphi for .NET,C++Builder,and Lazarus (Free Pascal)。它提供了对流行数据库服务器的统一访问,像Oracle,Microsoft SQL Server,MySQL,InterBase,Firebird,PostgreSQL,SQLite,DB2,Microsoft Access,Sybase Advantage Database Server,Sybase Adaptive Server Enterprise,和其他数据库(使用ODBC驱动)。<br><br>从网上下载到UniDAC 4.0的源码版本,安装过程如下:<br>1.进入"...\unidac40src\Source\Delphi14"文件夹,找到"Make.bat"文件,打开并修改IDE目录路径,如下:<br>set IdeDir="%PROGRAMFILES%\Embarcadero\RAD Studio\7.0<br>call ..\Make.bat Delphi 14 WIN32 <br>因为我这里Delphi 2010不是安装在默认位置,故修改如下:<br>set IdeDir="D:\Program Files\Embarcadero\RAD Studio\7.0<br>call ..\Make.bat Delphi 14 WIN32 <br>2.执行"Make.bat"文件,自动执行一系列操作后,到"...\unidac40src\Bin\Delphi14"目录下,可发现库已经生成完毕;<br>3.运行Delphi 2010,菜单→"Tools"→"Options"→"Environment Options"→"Environment Variables",添加"...\unidac40src\Bin\Delphi14"完整路径到"PATH"环境变量;<br>4.菜单→"Component"->"Install Packages...","Add"添加"...\unidac40src\Bin\Delphi14"目录下的"dclunidac140.bpl";<br>5.菜单→"Tools"→"Options"→"Environment Options"→"Delphi Options"→"Library - Win32",在"Library Path"添加"...\unidac40src\Lib\Delphi14"路径;<br>6.此时,已可以使用UniDAC连接数据库了。若是需要链接查看源代码,将"...\unidac40src\Source"路径也添加到"Library Path"。<br><br>测试连接MySql数据库:<br>1.新建一个应用程序,在面板上拖动TUniConnection、TMySQLUniProvider、TUniQuery、TUniDataSource、TDBGrid到窗体上,如下图所示:</p>
<p>2.右键TUniConnection,选择"Connection Editor...",填入数据库连接参数,如下图所示:</p>
<p>3.因为MySql一般设置字符集为UTF-8,而Delphi 2010工程字符集是Unicode,在"Options"页面,设置"UseUnicode"为True,这可以通知服务器,客户端和服务器双方之间的所有数据都将通过UTF-8编码,设置这个选项会转换所有的TStringField字段类型到TWideStringField字段类型,使得几乎所有的语言符号都可以正确工作,但另一方面,也引起工作延迟。</p>
<p>4.关联其他项,在TUniQuery的SQL里面写"select * from city",设置Active为True,运行程序,可以看到符号都可以正常显示,如下图所示:</p>
<p>代码实现的方式如下:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">procedure</span><span style="color: rgba(0, 0, 0, 1)"> TForm1.FormCreate(Sender: TObject);
</span><span style="color: rgba(0, 0, 255, 1)">begin</span><span style="color: rgba(0, 0, 0, 1)">
UniQuery1.Connection :</span>=<span style="color: rgba(0, 0, 0, 1)"> UniConnection1;
UniDataSource1.DataSet :</span>=<span style="color: rgba(0, 0, 0, 1)"> UniQuery1;
DBGrid1.DataSource :</span>=<span style="color: rgba(0, 0, 0, 1)"> UniDataSource1;
</span><span style="color: rgba(0, 0, 255, 1)">with</span> UniConnection1 <span style="color: rgba(0, 0, 255, 1)">do</span>
<span style="color: rgba(0, 0, 255, 1)">begin</span><span style="color: rgba(0, 0, 0, 1)">
ProviderName :</span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">MySQL</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
Username :</span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">root</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
Password :</span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">123</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
Server :</span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">192.168.82.201</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
Database :</span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">world</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
Port :</span>= <span style="color: rgba(128, 0, 128, 1)">3306</span><span style="color: rgba(0, 0, 0, 1)">;
SpecificOptions.Values[</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">UseUnicode</span><span style="color: rgba(128, 0, 0, 1)">'</span>] := <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">True</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">try</span><span style="color: rgba(0, 0, 0, 1)">
Connect;
UniQuery1.Close;
UniQuery1.SQL.Text :</span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">select * from city</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
UniQuery1.Open;
</span><span style="color: rgba(0, 0, 255, 1)">except</span>
<span style="color: rgba(0, 0, 255, 1)">end</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">end</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">end</span>;</pre>
</div>
<p> </p>
</div>
<div id="MySignature" role="contentinfo">
好的代码像粥一样,都是用时间熬出来的<br><br>
来源:https://www.cnblogs.com/jijm123/p/12013377.html
頁:
[1]