1. 程式人生 > >Delphi2007中使用DbExpress連線MySql的例子

Delphi2007中使用DbExpress連線MySql的例子

新建資料庫 /*
MySQL Data Transfer
Source Host: localhost
Source Database: blog
Target Host: localhost
Target Database: blog
Date: 2008/04/15 16:18:41
*/


SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
--
 Table structure for posts
--
 ----------------------------
CREATETABLE `posts` (
  `id` 
int(10) unsigned NOTNULL auto_increment,
  `title` 
varchar(50defaultNULL,
  `body` 
text,
  `created` 
datetimedefaultNULL,
  `modified` 
datetimedefaultNULL,
  
PRIMARYKEY  (`id`)
) ENGINE
=MyISAM AUTO_INCREMENT=6DEFAULT CHARSET=utf8;

-- ----------------------------
--
 Records 
--
 ----------------------------
INSERTINTO `posts` VALUES ('1''The title
''This is the post body.''2008-04-08 11:51:46'null);
INSERTINTO `posts` VALUES ('2''A title once again''And the post body follows.''2008-04-08 11:51:46'null);
INSERTINTO `posts` VALUES ('3''Title strikes back''This is really exciting! Not.''2008-04-08 11:51:46'null);

Delphi2007中新建工程,頁面上追加TSimpleDataSet及TDataSource控制元件。

然後做如下設定

 

欄位直接可以拉到頁面上的,如下:

設定各個控制元件間的DataSource屬性。後臺程式碼:

使用 DbExpress 的時候總感覺很彆扭。網上也有很多人說這套元件有潛在BUG存在。不知道是不是真的有李維大師所說的那樣好。

注意:關於事務:使用StartTransaction方法的話需要用到TTransactionDesc類,這需要在開頭uses部追加SqlExpr。

如果換成BeginTransaction方法的話需要用到TDBXTransaction類,這需要在開頭uses部追加DBXCommon。

從警告資訊可以判斷,Delphi2007已經開始不推薦使用StartTransaction方法做事務處理了。