开发者社区> xalion> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

使用delphi 开发 web(三)动态脚本里面使用数据库

简介: 在主程序里面把数据库访问控件设置并注册好,在脚本里面使用数据库就非常简单。 可以类似下面的脚本访问数据库。     要实现数据库访问,我们采用的是Devart 公司的数据库访问控件。该公司有单独访问 oracle,sql server,my sql,interbase 的控件,也有UniDac 控件可以同时访问包括以上数据库 的其他数据库,例如db2,access,sqllite 等。
+关注继续查看

在主程序里面把数据库访问控件设置并注册好,在脚本里面使用数据库就非常简单。

可以类似下面的脚本访问数据库。

<%
uses SysUtils, Classes;
var
   aaa,rndnum,bb:string;
   i,num:integer;
 
begin

 with cx do
    begin
        sql.clear;
        sql.add('select * from soft');
        open;
      while not cx.eof do
      begin
           print(fields[2].asstring);  

            print('<br>');
           next;
      end;
        
    end;
 end.
%>

    要实现数据库访问,我们采用的是Devart 公司的数据库访问控件。该公司有单独访问

oracle,sql server,my sql,interbase 的控件,也有UniDac 控件可以同时访问包括以上数据库

的其他数据库,例如db2,access,sqllite 等。这个公司出品的数据库访问数据库非常快,也比较稳定

更新迅速,能够很快支持最新的数据库系统。尤其是对oracle 的支持,可以直接使用TCP/IP协议

连接oracle 数据库,免去了安装客户端的麻烦,使web 服务器几乎可以实现零配置。原来的delphi 窑洞

就是使用ODAC 连接oracle 11g 的。

  确定了数据库访问控件,我们就可以在webbroke 里面设置和处理数据库访问功能。

在webbroke 设置界面放一个Torasession.并设置使其可以访问你的数据库。

并定义两个新类

 type
  Twebquery = class(ToraQuery);
  Twebsql=class(TOraSQL);
这两个类其实就是为了以后随时更换为其他数据库访问控件,保证脚本不用修改

就可以正常运行。

初始化里面加入Twebquery 的脚本注册

  g_UnitList := TUnitList.Create;
  g_UnitList.AddClass(Twebquery);
  g_UnitList.Sort;

  RegisterUnits(g_UnitList, GlobalImportTable);

在webmodule 的建立事件里生成两个Twebquery,以方便在脚本里面直接使用。

procedure Twm.WebModuleCreate(Sender: TObject);
begin
   scx:=TwebQuery.Create(self);
   zcx:=TwebQuery.Create(self);
   scx.Session:=dbS;
   zcx.Session:=dbS;
end.

并在解释脚本前把其实例到脚本运行时可以访问。

     show.WebScripter.Scripter.Reset;
      show.WebScripter.Scripter.RegisterVariable(0,'request:TWebRequest;',@Request);
      show.WebScripter.Scripter.RegisterVariable(0,'response:TWebResponse;',@Response);
      show.WebScripter.Scripter.RegisterVariable(0,'wm:Twm;', @self);
      show.WebScripter.Scripter.RegisterVariable(0,'cx:Twebquery;' ,@scx);
      show.WebScripter.Scripter.RegisterVariable(0,'zcx:Twebquery;' ,@zcx);

以上基本上就可以实现直接在脚本里面直接访问数据库了。

使用以下URL 访问 http://127.0.0.1/web?path=test

怎么样很简单吧,系统默认可以直接使用连个查询控件,cx 和zcx.

如果你需要更多的查询的,可以直接使用

myquery :=wm.newquery;

使用后都不需要free,系统在执行完自动会销毁这些对象的。

 

 



 

 




版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
在 web 业务开发中究竟该如何使用锁?(上)
在 web 业务开发中究竟该如何使用锁?
48 0
在 web 业务开发中究竟该如何使用锁?(中)
在 web 业务开发中究竟该如何使用锁?
52 0
Spring Boot开发Web应用
Spring Boot开发Web应用
43 0
Spring Boot 2.x基础教程:使用 Thymeleaf开发Web页面
Spring Boot 2.x基础教程:使用 Thymeleaf开发Web页面
134 0
使用Spring Boot开发一个属于自己的web Api接口返回JSON数据
使用Spring Boot开发一个属于自己的web Api接口返回JSON数据
82 0
《21天学通HTML+CSS+JavaScript Web开发(第7版)》——导读
然而,这些还不是本书的全部内容。其他介绍如何创建网页的图书只涉及基本的技术细节,如将文本设置为粗体,而在本书中,您还将学习使用特殊效果的原因以及该在什么情况下使用它们。除页面本身外,本书提供了网站整体结构设计方面的提示、建议和示例。
1251 0
《21天学通HTML+CSS+JavaScript Web开发(第7版)》——2.8 作业
在本节的第一个小节,将回答一些与网站规划相关的常见问题。接下来,将由您来完成一些测验题,如果有测验题您回答不了,请参阅随后的答案。练习旨在帮助您想出一些创建网站的点子。
1411 0
+关注
xalion
delphi 专家,熟悉Delphi,Oracle,Sqlserver Web,Android,IOS,Javascript。企业信息化建设。
171
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载