博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用delphi 开发 web(三)动态脚本里面使用数据库
阅读量:7033 次
发布时间:2019-06-28

本文共 1709 字,大约阅读时间需要 5 分钟。

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

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

<%

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.
%>

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

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,系统在执行完自动会销毁这些对象的。

 

 

 

 

转载地址:http://xpyal.baihongyu.com/

你可能感兴趣的文章
学了这么久Python,大家知道它的起源吗?
查看>>
Java通过几种经典的算法来实现数组排序
查看>>
PHP ++true true++ 布尔值的先增后增问题
查看>>
七牛qshell工具 批量删除操作
查看>>
关于composer常用到的命令
查看>>
shell基础2
查看>>
Paddle Fluid v1.2 Release Note 深度学习框架重磅更新
查看>>
从今天起让我们忘记Java中的get/set方法吧!
查看>>
java框架学习日志-3
查看>>
Oracle学习日志-6(聚合查询)
查看>>
程序员笔记|循序渐进解读Oracle AWR性能分析报告
查看>>
UniDAC使用教程(一):连接到数据库
查看>>
PHP 连接 MySQL
查看>>
314安装与网络配置预习+笔记
查看>>
python项目实战:免费下载kugou任意付费音乐
查看>>
消息中间件-activeMQ
查看>>
SQL SERVER2008数据库常识
查看>>
mac outlook 自动回复
查看>>
横屏竖屏
查看>>
Zabbix监控MySQL
查看>>