Delphi2007中使用DbExpress連線MySql的例子
阿新 • • 發佈:2019-01-30
新建資料庫
/*
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(50) defaultNULL,
`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);
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,
`body` text,
`created` datetimedefaultNULL,
`modified` datetimedefaultNULL,
PRIMARYKEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=6DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records
-- ----------------------------
INSERTINTO `posts` VALUES ('1', 'The title
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方法做事務處理了。