<?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>No Money No Honey &#187; 資料庫</title>
	<atom:link href="http://blog.infinity.idv.tw/index.php/category/delphi/%e8%b3%87%e6%96%99%e5%ba%ab/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.infinity.idv.tw</link>
	<description>Just Another Beginning</description>
	<lastBuildDate>Sat, 28 Jan 2012 18:25:36 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>DELPHI 7 使用ADO元件寫入資料庫強制四捨五入小數到第四位問題</title>
		<link>http://blog.infinity.idv.tw/index.php/2010/12/09/delphi-7-%e4%bd%bf%e7%94%a8ado%e5%85%83%e4%bb%b6%e5%af%ab%e5%85%a5%e8%b3%87%e6%96%99%e5%ba%ab%e5%bc%b7%e5%88%b6%e5%9b%9b%e6%8d%a8%e4%ba%94%e5%85%a5%e5%b0%8f%e6%95%b8%e5%88%b0%e7%ac%ac%e5%9b%9b/</link>
		<comments>http://blog.infinity.idv.tw/index.php/2010/12/09/delphi-7-%e4%bd%bf%e7%94%a8ado%e5%85%83%e4%bb%b6%e5%af%ab%e5%85%a5%e8%b3%87%e6%96%99%e5%ba%ab%e5%bc%b7%e5%88%b6%e5%9b%9b%e6%8d%a8%e4%ba%94%e5%85%a5%e5%b0%8f%e6%95%b8%e5%88%b0%e7%ac%ac%e5%9b%9b/#comments</comments>
		<pubDate>Thu, 09 Dec 2010 10:14:16 +0000</pubDate>
		<dc:creator>Roger Lin</dc:creator>
				<category><![CDATA[DELPHI]]></category>
		<category><![CDATA[資料庫]]></category>
		<category><![CDATA[ADO 小數 第四位 四捨五入]]></category>

		<guid isPermaLink="false">http://blog.infinity.idv.tw/index.php/2010/12/09/delphi-7-%e4%bd%bf%e7%94%a8ado%e5%85%83%e4%bb%b6%e5%af%ab%e5%85%a5%e8%b3%87%e6%96%99%e5%ba%ab%e5%bc%b7%e5%88%b6%e5%9b%9b%e6%8d%a8%e4%ba%94%e5%85%a5%e5%b0%8f%e6%95%b8%e5%88%b0%e7%ac%ac%e5%9b%9b/</guid>
		<description><![CDATA[<p>DELPHI 7 使用ADO元件寫入資料庫強制四捨五入小數到第四位問題</p>
<p>parameters.parambyname(&#8217;tmpprice&#8217;).datatype：=ftFloat;&#160;&#160; &#60;==寫入資料前先將欄位設定成 Float 型態即可解決此問題。</p>
<p>參考:http://jzinfo.javaeye.com/blog/432853</p>

var&#160;&#160; 
&#160;&#160;&#160; adoquery1:Tadoquery;&#160;&#160; 
begin&#160;&#160; 
&#160;&#160;&#160; adoquery1:=Tadoquery.create(nil);&#160;&#160; 
&#160;&#160;&#160; try&#160;&#160; 
&#160;&#160;&#160;&#160;&#160;&#160; if not DM.adonconnection1.connected then&#160;&#160; 
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; DM.adoconnection1.connected:=true;&#160;&#160; 
&#160;&#160;&#160;&#160;&#160;&#160; adoquery1.connection:=DM.adoconnection1;&#160;&#160; 
&#160;&#160;&#160;&#160;&#160;&#160; adoquery1.enableBCD:=False;&#160;&#160;&#160;&#160;&#160;&#160; //禁用bcd类型&#160;&#160; 
&#160;&#160;&#160;&#160;&#160;&#160; with adoquery1 do&#160;&#160; 
&#160;&#160;&#160;&#160;&#160;&#160; begin&#160;&#160; 
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; close;&#160;&#160; 
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; sql.clear;&#160;&#160; 
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; sql.add(&#8217;insert into materialInfo values(:tmppno,:tmpvendor,:tmpdesc,:tmpprice)&#8217;);&#160;&#160; 
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; parameters.parambyname(&#8217;tmppno&#8217;).value:=trim(edit1.text);&#160;&#160; 
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; parameters.parambyname(&#8217;tmpvendor&#8217;).value:=trim(edit2.text);&#160;&#160; 
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; parameters.parambyname(&#8217;tmpdesc&#8217;).value:=trim(edit3.text);&#160;&#160; 
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; parameters.parambyname(&#8217;tmpprice&#8217;).datatype：=ftFloat;&#160;&#160;&#160;&#160;&#160;&#160; //设置下数据类型&#160;&#160; 
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; parameters.parambyname(&#8217;tmpprice&#8217;).value:=trim(edit4.text);&#160;&#160; 
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; execsql;&#160;&#160; 
&#160;&#160;&#160;&#160;&#160;&#160; end;&#160;&#160; [...]]]></description>
			<content:encoded><![CDATA[<p>DELPHI 7 使用ADO元件寫入資料庫強制四捨五入小數到第四位問題</p>
<p>parameters.parambyname(&#8217;tmpprice&#8217;).datatype：=ftFloat;&#160;&#160; &lt;==寫入資料前先將欄位設定成 Float 型態即可解決此問題。</p>
<p>參考:<a title="http://jzinfo.javaeye.com/blog/432853" href="http://jzinfo.javaeye.com/blog/432853">http://jzinfo.javaeye.com/blog/432853</a></p>
<ol>
<li>var&#160;&#160; </li>
<li>&#160;&#160;&#160; adoquery1:Tadoquery;&#160;&#160; </li>
<li>begin&#160;&#160; </li>
<li>&#160;&#160;&#160; adoquery1:=Tadoquery.create(nil);&#160;&#160; </li>
<li>&#160;&#160;&#160; try&#160;&#160; </li>
<li>&#160;&#160;&#160;&#160;&#160;&#160; if not DM.adonconnection1.connected then&#160;&#160; </li>
<li>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; DM.adoconnection1.connected:=true;&#160;&#160; </li>
<li>&#160;&#160;&#160;&#160;&#160;&#160; adoquery1.connection:=DM.adoconnection1;&#160;&#160; </li>
<li>&#160;&#160;&#160;&#160;&#160;&#160; adoquery1.enableBCD:=False;&#160;&#160;&#160;&#160;&#160;&#160; //禁用bcd类型&#160;&#160; </li>
<li>&#160;&#160;&#160;&#160;&#160;&#160; with adoquery1 do&#160;&#160; </li>
<li>&#160;&#160;&#160;&#160;&#160;&#160; begin&#160;&#160; </li>
<li>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; close;&#160;&#160; </li>
<li>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; sql.clear;&#160;&#160; </li>
<li>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; sql.add(&#8217;insert into materialInfo values(:tmppno,:tmpvendor,:tmpdesc,:tmpprice)&#8217;);&#160;&#160; </li>
<li>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; parameters.parambyname(&#8217;tmppno&#8217;).value:=trim(edit1.text);&#160;&#160; </li>
<li>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; parameters.parambyname(&#8217;tmpvendor&#8217;).value:=trim(edit2.text);&#160;&#160; </li>
<li>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; parameters.parambyname(&#8217;tmpdesc&#8217;).value:=trim(edit3.text);&#160;&#160; </li>
<li>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; parameters.parambyname(&#8217;tmpprice&#8217;).datatype：=ftFloat;&#160;&#160;&#160;&#160;&#160;&#160; //设置下数据类型&#160;&#160; </li>
<li>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; parameters.parambyname(&#8217;tmpprice&#8217;).value:=trim(edit4.text);&#160;&#160; </li>
<li>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; execsql;&#160;&#160; </li>
<li>&#160;&#160;&#160;&#160;&#160;&#160; end;&#160;&#160; </li>
<li>&#160;&#160;&#160; finally&#160;&#160; </li>
<li>&#160;&#160;&#160;&#160;&#160;&#160;&#160; adoquery1.free;&#160;&#160; </li>
<li>&#160;&#160;&#160; end;&#160;&#160; </li>
<li>end;&#160; </li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://blog.infinity.idv.tw/index.php/2010/12/09/delphi-7-%e4%bd%bf%e7%94%a8ado%e5%85%83%e4%bb%b6%e5%af%ab%e5%85%a5%e8%b3%87%e6%96%99%e5%ba%ab%e5%bc%b7%e5%88%b6%e5%9b%9b%e6%8d%a8%e4%ba%94%e5%85%a5%e5%b0%8f%e6%95%b8%e5%88%b0%e7%ac%ac%e5%9b%9b/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DELPHI使用ADOQuery的動態參數注意事項</title>
		<link>http://blog.infinity.idv.tw/index.php/2009/12/01/delphi%e4%bd%bf%e7%94%a8adoquery%e7%9a%84%e5%8b%95%e6%85%8b%e5%8f%83%e6%95%b8%e6%b3%a8%e6%84%8f%e4%ba%8b%e9%a0%85/</link>
		<comments>http://blog.infinity.idv.tw/index.php/2009/12/01/delphi%e4%bd%bf%e7%94%a8adoquery%e7%9a%84%e5%8b%95%e6%85%8b%e5%8f%83%e6%95%b8%e6%b3%a8%e6%84%8f%e4%ba%8b%e9%a0%85/#comments</comments>
		<pubDate>Tue, 01 Dec 2009 09:42:16 +0000</pubDate>
		<dc:creator>Roger Lin</dc:creator>
				<category><![CDATA[資料庫]]></category>
		<category><![CDATA[ADOQUERY]]></category>
		<category><![CDATA[DELPHI]]></category>
		<category><![CDATA[動態參數]]></category>

		<guid isPermaLink="false">http://blog.infinity.idv.tw/index.php/2009/12/01/delphi%e4%bd%bf%e7%94%a8adoquery%e7%9a%84%e5%8b%95%e6%85%8b%e5%8f%83%e6%95%b8%e6%b3%a8%e6%84%8f%e4%ba%8b%e9%a0%85/</guid>
		<description><![CDATA[<p>WGLProcstat2Query.Close;     WGLProcstat2Query.SQL.Clear;      WGLProcstat2Query.SQL.Add(&#8217;select * from dbo.gdsinfomt, dbo.procstat&#8217;);      WGLProcstat2Query.SQL.Add(&#8217;where ((dbo.gdsinfomt.gdsno=:E_gdsno) and (dbo.procstat.gdsno=:E_gdsno))&#8217;);      //Roger 20091201 動態參數若使用相同的參數名稱兩個以上，請改用陣列方式，並把每個參數都當成獨立參數      WGLProcstat2Query.Parameters[0].Value:= Trim(GdsNoEdit.Text);       WGLProcstat2Query.Parameters[1].Value:= Trim(GdsNoEdit.Text);      WGLProcstat2Query.Open;  [...]]]></description>
			<content:encoded><![CDATA[<p><font size="3">WGLProcstat2Query.Close;     <br />WGLProcstat2Query.SQL.Clear;      <br />WGLProcstat2Query.SQL.Add(&#8217;select * from dbo.gdsinfomt, dbo.procstat&#8217;);      <br />WGLProcstat2Query.SQL.Add(&#8217;where ((dbo.gdsinfomt.gdsno=:<font color="#ff0000">E_gdsno</font>) and (dbo.procstat.gdsno=:<font color="#ff0000">E_gdsno</font>))&#8217;);      <br />//Roger 20091201 動態參數若使用相同的參數名稱兩個以上，請改用陣列方式，並把每個參數都當成獨立參數      <br /></font><font size="3"><font color="#ff0000">WGLProcstat2Query.Parameters[0].Value:= Trim(GdsNoEdit.Text);       <br />WGLProcstat2Query.Parameters[1].Value:= Trim(GdsNoEdit.Text);</font>      <br />WGLProcstat2Query.Open;      <br />WGLProcstat2Query.RecordCount;</font></p>
<p><font size="3"></font></p>
<p><font size="3">上面的例子，若有使用動態 SQL 參數 :E_gdsno 相同的參數兩個以上：     <br />請改用陣列方式，並把每個參數都當成獨立參數給值才行      <br /></font></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.infinity.idv.tw/index.php/2009/12/01/delphi%e4%bd%bf%e7%94%a8adoquery%e7%9a%84%e5%8b%95%e6%85%8b%e5%8f%83%e6%95%b8%e6%b3%a8%e6%84%8f%e4%ba%8b%e9%a0%85/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL 的備份及復原</title>
		<link>http://blog.infinity.idv.tw/index.php/2009/10/23/mysql-%e7%9a%84%e5%82%99%e4%bb%bd%e5%8f%8a%e5%be%a9%e5%8e%9f/</link>
		<comments>http://blog.infinity.idv.tw/index.php/2009/10/23/mysql-%e7%9a%84%e5%82%99%e4%bb%bd%e5%8f%8a%e5%be%a9%e5%8e%9f/#comments</comments>
		<pubDate>Fri, 23 Oct 2009 05:46:56 +0000</pubDate>
		<dc:creator>Roger Lin</dc:creator>
				<category><![CDATA[資料庫]]></category>
		<category><![CDATA[mysql 資料庫 備份 還原]]></category>

		<guid isPermaLink="false">http://blog.infinity.idv.tw/index.php/2009/10/23/mysql-%e7%9a%84%e5%82%99%e4%bb%bd%e5%8f%8a%e5%be%a9%e5%8e%9f/</guid>
		<description><![CDATA[MYSQL 資料庫 備份 [...]]]></description>
			<content:encoded><![CDATA[<p>要備份 MySQL 資料庫主要分為兩個方法，一是將資料庫目錄完整備份：二是使用 MySQL 內建的 mysqldump 程式。</p>
<h5>備份資料庫目錄</h5>
<p>MySQL 預設的儲存目錄在 /var/lib/mysql 內容，底下會有以資料庫名稱的目錄，例如 mydb 目錄便應該是 mydb 資料庫的資料。   <br />如果 MySQL 正在運行，請先停止 MySQL，原因是可能會有資料未完全寫入，而 MySQL 會 lock 在使用中的 DB 檔案。</p>
<p><code>01 /etc/rc.d/init.d/mysqld stop     <br />02 cd /var/lib/mysql/      <br />03 tar zxcf mydb_backup.tgz mydb      <br />04 /etc/rc.d/init.d/mysqld start</code></p>
<p>以上指令會先停止 MySQL，然後把 mydb 資料庫製作一個 taz 檔的備份，並儲存到 mydb_backup.tgz。   <br />在使用以上指令時，請根據個別系統的設定作出修改。    <br />好了，以上就麼 3 句指令就完成備份了，如果不幸的事情發生了，資料庫發生錯誤而要復原資料，可使用以下指令：</p>
<p><code>01 /etc/rc.d/init.d/mysqld stop     <br />02 cd /var/lib/mysql/      <br />03 mv mydb mydb_error      <br />04 tar zxvf mydb_backup.tgz      <br />05 /etc/rc.d/init.d/mysqld start</code></p>
<p>以上指令是先把 /var/lib/mysql/mydb 移到 /var/lib/mysql/mydb_error，然後將原先製作的備份檔解壓到 /var/lib/mysql/mydb。</p>
<h5>mysqldump</h5>
<p>雖然以上方法十分簡單，但有一個問題存在，那就是在備份及復原時均需停止 MySQL 的運作，這樣對於實際應用十分不便。再者，這樣備份出來的檔案，如果在相同版本的 MySQL Server 應該沒有問題，但移到版本不同的 Server 則不一定可以成功復原。</p>
<p>因為有以上的問題，MySQL 已經內建了備份工具，它就是 mysqldump。   <br />mysqldump 的備份方法是將資料庫內的每個資料表結構及每筆資料產生 SQL 語句，然後存到文字檔。而且它可以自訂每一個資料表一個檔案，以及將資料表結構及資料分開儲存，以下是使用例子：</p>
<p><code>01 mysqldump --user=root -p mydb &gt; /backup/mydb.sql</code></p>
<p>以上指令會使用 mysqldump 將 mydb 備份到 /backup/mydb.sql，在輸入指令後，需要輸入 MySQL 的 root 密碼。   <br />至於復原資料同樣簡單，只要一句指令便完成：</p>
<p><code>01 mysqldump --user=root -p mydb &lt; /backup/mydb.sql</code></p>
<p>以上指令會將 /backup/mydb.sql 備份檔復原到 mydb 裡面。如果你的 MySQL Server 不止一個資料庫，希望可以一次過將所有資料庫備份起來，可以寫一個簡單的 shell script 完成，又或者使用以下指令：</p>
<p><code>01 mysqldump --user=root -p --all-databases &gt; /backup/mysql.sql</code></p>
<p>這個 &#8211;all-databases 代表所有資料庫，這樣 mysqldump 便會將所有資料庫備份到 /backup/mysql.sql。   <br />====================================================    <br />歡迎轉載，但轉載時請保留此宣告，不得作為商業用途    <br />作者: Sam Tang &lt;admin{at}phpini{dot}com&gt;    <br />來源網站: <a href="http://www.phpdc.com/">http://www.phpdc.com/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.infinity.idv.tw/index.php/2009/10/23/mysql-%e7%9a%84%e5%82%99%e4%bb%bd%e5%8f%8a%e5%be%a9%e5%8e%9f/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>使用DELPHI連線ACCESS資料庫</title>
		<link>http://blog.infinity.idv.tw/index.php/2009/10/09/%e4%bd%bf%e7%94%a8delphi%e9%80%a3%e7%b7%9aaccess%e8%b3%87%e6%96%99%e5%ba%ab/</link>
		<comments>http://blog.infinity.idv.tw/index.php/2009/10/09/%e4%bd%bf%e7%94%a8delphi%e9%80%a3%e7%b7%9aaccess%e8%b3%87%e6%96%99%e5%ba%ab/#comments</comments>
		<pubDate>Fri, 09 Oct 2009 08:38:05 +0000</pubDate>
		<dc:creator>Roger Lin</dc:creator>
				<category><![CDATA[資料庫]]></category>
		<category><![CDATA[Delphi Access 資料庫 Database]]></category>

		<guid isPermaLink="false">http://blog.infinity.idv.tw/index.php/2009/10/09/%e4%bd%bf%e7%94%a8delphi%e9%80%a3%e7%b7%9aaccess%e8%b3%87%e6%96%99%e5%ba%ab/</guid>
		<description><![CDATA[<p>建立ACCESS資料庫</p>
<p>檔名123.mdb，資料表格如下：</p>
<p> </p>
<p>隨便手動給兩三筆測試資料。</p>
<p> </p>
<p>&#160;</p>
<p>將資料庫設定密碼123：</p>
<p>須使用開啟舊檔方式開起獨占模式，才可設定密碼。</p>
<p> </p>
<p> </p>
<p> </p>
<p>開啟DELPHI，在Form表單上拉 TADOConnection 元件，並點選ConnectionString設定連線資料</p>
<p> </p>
<p> </p>
<p>選 Jet 4.0 OLE DB Provider</p>
<p>&#160; 資料庫可以設檔名即可，不用設定目錄，但是必需要跟應用程式執行檔放在同個目錄下。</p>
<p> </p>
<p>設定連線密碼。</p>
<p> </p>
<p>可按測試連線，若可正常連線即可看到成訊息。</p>
</p>
</p>
</p>
<p> </p>
<p>&#160;</p>
<p>Delphi簡易連線測試：</p>
<p>拉入元件</p>
<p>DBGrid1:TDBGrid</p>
<p>ADOQuery1:TADOQuery</p>
<p>DataSource1:TDataSource</p>
<p>&#160;</p>
<p>設定ADOQuery1：</p>
<p>將Connection屬性設為ADOConnection1(TADOConnection元件)</p>
<p> </p>
</p>
<p>&#160;</p>
<p>設定DataSource1：</p>
<p>將DataSet屬性設為ADOQuery1</p>
<p> </p>
<p>&#160;</p>
<p>設定DBGrid1資料表：</p>
<p>點選DBGrid1元件，將DataSource屬性設定為DataSource1</p>
<p> </p>
<p>&#160;</p>
<p>程式碼撰寫測試連線資料庫：</p>
<p>讓程式視窗建立時就順便執行SQL查詢</p>
<p>procedure TForm1.FormCreate(Sender: TObject);   begin    &#160; ADOQuery1.Close;    &#160; ADOQuery1.SQL.Clear;    &#160; ADOQuery1.SQL.Add(&#8217;select * from userdata&#8217;);    &#160; ADOQuery1.Open;    end;</p>
<p>&#160;</p>
<p>執行程式會要求輸入資料庫帳號密碼的問題：</p>
<p> </p>
<p>將ADOConnection1 [...]]]></description>
			<content:encoded><![CDATA[<p><strong>建立ACCESS資料庫</strong></p>
<p>檔名123.mdb，資料表格如下：</p>
<p><a href="http://blog.infinity.idv.tw/blog-img/DELPHIACCESS_D178/44.jpg"><img title="44" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="107" alt="44" src="http://blog.infinity.idv.tw/blog-img/DELPHIACCESS_D178/44_thumb.jpg" width="267" border="0" /></a> </p>
<p>隨便手動給兩三筆測試資料。</p>
<p><a href="http://blog.infinity.idv.tw/blog-img/DELPHIACCESS_D178/43.jpg"><img title="43" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="129" alt="43" src="http://blog.infinity.idv.tw/blog-img/DELPHIACCESS_D178/43_thumb.jpg" width="309" border="0" /></a> </p>
<p>&#160;</p>
<p>將資料庫設定密碼123：</p>
<p>須使用開啟舊檔方式開起獨占模式，才可設定密碼。</p>
<p><a href="http://blog.infinity.idv.tw/blog-img/DELPHIACCESS_D178/3.jpg"><img title="3" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="444" alt="3" src="http://blog.infinity.idv.tw/blog-img/DELPHIACCESS_D178/3_thumb.jpg" width="704" border="0" /></a> </p>
<p><a href="http://blog.infinity.idv.tw/blog-img/DELPHIACCESS_D178/2.jpg"><img title="2" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="347" alt="2" src="http://blog.infinity.idv.tw/blog-img/DELPHIACCESS_D178/2_thumb.jpg" width="763" border="0" /></a> </p>
<p><a href="http://blog.infinity.idv.tw/blog-img/DELPHIACCESS_D178/5.jpg"><img title="5" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="136" alt="5" src="http://blog.infinity.idv.tw/blog-img/DELPHIACCESS_D178/5_thumb.jpg" width="283" border="0" /></a> </p>
<p>開啟DELPHI，在Form表單上拉 TADOConnection 元件，並點選ConnectionString設定連線資料</p>
<p><a href="http://blog.infinity.idv.tw/blog-img/DELPHIACCESS_D178/8.jpg"><img title="8" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="346" alt="8" src="http://blog.infinity.idv.tw/blog-img/DELPHIACCESS_D178/8_thumb.jpg" width="381" border="0" /></a> </p>
<p><a href="http://blog.infinity.idv.tw/blog-img/DELPHIACCESS_D178/8_3.jpg"><img title="8" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="216" alt="8" src="http://blog.infinity.idv.tw/blog-img/DELPHIACCESS_D178/8_thumb_3.jpg" width="476" border="0" /></a> </p>
<p>選 Jet 4.0 OLE DB Provider</p>
<p><a href="http://blog.infinity.idv.tw/blog-img/DELPHIACCESS_D178/9.jpg"><img title="9" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="430" alt="9" src="http://blog.infinity.idv.tw/blog-img/DELPHIACCESS_D178/9_thumb.jpg" width="413" border="0" /></a>&#160; <br />資料庫可以設檔名即可，不用設定目錄，但是必需要跟應用程式執行檔放在同個目錄下。</p>
<p><a href="http://blog.infinity.idv.tw/blog-img/DELPHIACCESS_D178/10.jpg"><img title="10" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="442" alt="10" src="http://blog.infinity.idv.tw/blog-img/DELPHIACCESS_D178/10_thumb.jpg" width="399" border="0" /></a> </p>
<p>設定連線密碼。</p>
<p><a href="http://blog.infinity.idv.tw/blog-img/DELPHIACCESS_D178/41.jpg"><img title="41" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="435" alt="41" src="http://blog.infinity.idv.tw/blog-img/DELPHIACCESS_D178/41_thumb.jpg" width="394" border="0" /></a> </p>
<p>可按測試連線，若可正常連線即可看到成訊息。</p>
</p>
</p>
</p>
<p><a href="http://blog.infinity.idv.tw/blog-img/DELPHIACCESS_D178/12.jpg"><img title="12" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="441" alt="12" src="http://blog.infinity.idv.tw/blog-img/DELPHIACCESS_D178/12_thumb.jpg" width="398" border="0" /></a> </p>
<p>&#160;</p>
<p><strong>Delphi簡易連線測試：</strong></p>
<p>拉入元件</p>
<p>DBGrid1:TDBGrid</p>
<p>ADOQuery1:TADOQuery</p>
<p>DataSource1:TDataSource</p>
<p>&#160;</p>
<p>設定ADOQuery1：</p>
<p>將Connection屬性設為ADOConnection1(TADOConnection元件)</p>
<p><a href="http://blog.infinity.idv.tw/blog-img/DELPHIACCESS_D178/22.jpg"><img title="22" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="146" alt="22" src="http://blog.infinity.idv.tw/blog-img/DELPHIACCESS_D178/22_thumb.jpg" width="332" border="0" /></a> </p>
</p>
<p>&#160;</p>
<p>設定DataSource1：</p>
<p>將DataSet屬性設為ADOQuery1</p>
<p><a href="http://blog.infinity.idv.tw/blog-img/DELPHIACCESS_D178/23.jpg"><img title="23" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="170" alt="23" src="http://blog.infinity.idv.tw/blog-img/DELPHIACCESS_D178/23_thumb.jpg" width="294" border="0" /></a> </p>
<p>&#160;</p>
<p>設定DBGrid1資料表：</p>
<p>點選DBGrid1元件，將DataSource屬性設定為DataSource1</p>
<p><a href="http://blog.infinity.idv.tw/blog-img/DELPHIACCESS_D178/24.jpg"><img title="24" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="307" alt="24" src="http://blog.infinity.idv.tw/blog-img/DELPHIACCESS_D178/24_thumb.jpg" width="351" border="0" /></a> </p>
<p>&#160;</p>
<p><strong>程式碼撰寫測試連線資料庫：</strong></p>
<p>讓程式視窗建立時就順便執行SQL查詢</p>
<p>procedure TForm1.FormCreate(Sender: TObject);   <br />begin    <br />&#160; ADOQuery1.Close;    <br />&#160; ADOQuery1.SQL.Clear;    <br />&#160; ADOQuery1.SQL.Add(&#8217;select * from userdata&#8217;);    <br />&#160; ADOQuery1.Open;    <br />end;</p>
<p>&#160;</p>
<p>執行程式會要求輸入資料庫帳號密碼的問題：</p>
<p><a href="http://blog.infinity.idv.tw/blog-img/DELPHIACCESS_D178/31.jpg"><img title="31" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="184" alt="31" src="http://blog.infinity.idv.tw/blog-img/DELPHIACCESS_D178/31_thumb.jpg" width="278" border="0" /></a> </p>
<p>將ADOConnection1 的LoginPrompt屬性改False即不會再要求輸入帳密，會直接使用TADOConnection元件內設定的帳密連線。</p>
<p><a href="http://blog.infinity.idv.tw/blog-img/DELPHIACCESS_D178/32.jpg"><img title="32" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="315" alt="32" src="http://blog.infinity.idv.tw/blog-img/DELPHIACCESS_D178/32_thumb.jpg" width="238" border="0" /></a> </p>
<p>這樣再執行程式時，就可直接看到結果了：</p>
<p><a href="http://blog.infinity.idv.tw/blog-img/DELPHIACCESS_D178/45.jpg"><img title="45" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="163" alt="45" src="http://blog.infinity.idv.tw/blog-img/DELPHIACCESS_D178/45_thumb.jpg" width="751" border="0" /></a> </p>
<p>SQL 別名語法</p>
<p><font size="4">ADOQuery1.SQL.Add(&#8217;select Id as 序號<font color="#ff0000">,</font> Username as 姓名<font color="#ff0000">,</font> Userpw as 密碼 from userdata&#8217;);</font></p>
<p><a href="http://blog.infinity.idv.tw/blog-img/DELPHIACCESS_D178/46.jpg"><img title="46" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="115" alt="46" src="http://blog.infinity.idv.tw/blog-img/DELPHIACCESS_D178/46_thumb.jpg" width="709" border="0" /></a> </p>
</p>
</p>
</p>
</p>
<p>有關SQL語法可到 <a href="http://www.1keydata.com/tw/sql/sql.html" target="_blank">SQL語法教學</a> 查看。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.infinity.idv.tw/index.php/2009/10/09/%e4%bd%bf%e7%94%a8delphi%e9%80%a3%e7%b7%9aaccess%e8%b3%87%e6%96%99%e5%ba%ab/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

