首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 开源 FAQ 第二书店 博文视点 程序员
频道: 研发 数据库 中间件 信息化 视频 .NET Java 游戏 移动 服务: 人才 外包 培训
    图书品种:235680
       
热门搜索: ASP.NET Ajax Spring Hibernate Java

2.3.2  使用TSQLQuery控件

在上一节中示例了如何使用TSQLDataSet动态建立数据表,现在让我们继续使用TSQLQuery来展示如何在动态建立的数据表中新增数据。

步骤加入TSQLQuery控件

打开范例的数据模块,并且在其中加入一个TSQLQuery控件,命名为sqlqData,如图2-33所示。

2-33  在数据模块中加入TSQLQuery控件sqlqData

设定它的SQLConnection属性值为数据模块中的scnnRunDDL,并且设定它的SQL属性值如下:

INSERT INTO MYESSAYS

       (EID, ETITLE, MAGAZINE, PDATE, NOTES) VALUES

       (1, '中文Borland Developer Network技术文章',

            'MyBlog',

            NULL, NULL)

这个SQL语句会在MYESSAYS数据表中新增一笔新的数据。

步骤使用TSQLQuery控件新增数据

回到范例应用程序的主窗体,加入一个新的TButton控件,设定它的Caption属性值为新增数据,双击这个TButton控件,并且在它的OnClick事件处理函数中撰写如下的程序代码:

procedure TForm1.btnInsertDataClick(Sender: TObject);

begin

  dmRunDDL.sqlqData.ExecSQL(False);

  dmRunDDL.scdsQuery.Refresh;

end;

上面的程序代码调用了sqlqDataExecSQL方法,让它执行储存在SQL语句中的SQL语句,最后调用数据模块中的TSimpleDataSet控件的Refresh方法从数据表中得到最新的数据。

注意到了吗?以前BDETQuery在许多的情形下都无法调用Refresh方法重新取得数据,而dbExpressTSQLDataSetTSQLQueryTSQLClientDataSet控件却都可以自由地调用Refresh,比BDE好用得多。

现在重新执行范例应用程序,点击【建立数据表】按钮[1],再点击【新增数据】按钮,那么便会看到类似图2-34所示的画面,TSQLDataSetTSQLQuery控件都可以成功地执行DDL语句。

2-34  范例应用程序动态数据表以及新增数据的画面

前面的范例都展示了如何使用TSQLDataSetTSQLQuery来执行DDL,或是直接使用SQL语句来处理数据的应用,不过我们可以发现TSQLDataSetTSQLQuery一次都只能执行一个SQL语句。当开发人员需要执行大量的SQL语句或是所谓的SQL Script时,由于dbExpress没有提供类似TSQLScript的控件,因此开发人员只能一次执行一个SQL语句,相当不方便。不过在dbExpress提供TSQLScript控件之前,我们也可以使用TSQLDataSetTSQLQuery来仿真TSQLScript控件,让开发人员一次能够执行多个SQL语句。下一小节就展示了这个范例。

查看所有评论(0)条】

最近评论



正在载入评论列表...
热点评论