关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » SQL语言 »基于WEB的数据库查询

    基于WEB的数据库查询

    2015-11-26 00:00:00 出处:ITJS
    分享

    97年以来基于WEB的数据库应用在数据库界谈论的颇多,基于WEB的数据库的应用,是将数据库和WEB技术结合,按照BROWS/SERVER结构建立的通过浏览器访问数据库的服务系统。目前以WEB数据库为旗帜的产品、原形或设计方案及研究论文很多,开发数据库的WEB应用,建立能与数据库交互的WEB网页,大致有三中方法:其一是网关接口(CGI),其二是JDBC(JAVADATABASECONNECTIVITY),其三是各数据库厂家开发的各自的WEB中间间。

    各数据库厂家开发的各自的WEB中间件虽好不能通用;JDBC可移植性、安全性与可靠性有显著优点,但对开发难度大,不能满足广大非专业人员的需要;CGI方式应用灵活,开发工具丰富,通用CGI程序也很多。本人通过在网上周游,寻得一WEB数据库CGI接口程序ODBIC(101K字节大小),小巧玲珑,应用灵活,可以和各种数据
    库(包括FOXPRO系列、SQLSERVER、ORACLE等)建立连接。

    ODBIC(OPENDATABASEINTERNECONNECTOR)程序是运行在WINDOWSNT和WIN95上的共享软件,可通过http://www.iodbc.com获得该软件(目前已有ODBIC1.5版,本文使用的是ODBIC1.4版)。ODBIC是在浏览器和数据库之间提供一个接口,即一个CGI程序,可以通过浏览器时时更新和浏览数据库。

    通过ODBIC可以用标准的ANSISQL语句诸如:SELECT,INSERT,UPDATE,orDELETE对在ODBC中设置的所有数据库进行操作。ODBIC的最大优点是可以用摸板文件作为输入,摸板文件也能接收命令中通过submit发来的用户输入参数,摸板包含标准的HTML命令和文本,并且这些命令和文本ODBIC直接输出到浏览器上,当然摸板也包含ODBIC命令和变量。当ODBIC以摸板作为输入运行时,标准的HTML命令和文本直接输出到浏览器上,发现ODBIC命令时立即执行,发现ODBIC变量时立即用变量的当前值代替。ODBIC命令是放在标准的HTML语言的注释行里,ODBIC变量是用一对符号括着,下面一个很简单的例子说明ODBIC命令和变量是如何出现在摸板文件里的:

    < !--DATABASE DSN=$my_database$ -- >t;
    

    < !--SQL select * from my_table -- >;

    < !--TABLE-- >;

    DATABASE、SQL、TABLE 是ODBIC的最基本的命令。

    本文通过一个实例介绍用ODBIC编写在中文WIN95下访问SQLSERVER数据库的应用程序,体会以下ODBIC功能的灵活、方便、易学的,推荐给大家共免。在下面的例子里,大家要用到一电信营业数据库的长途电话明细表,表结构如下(数据库名为TELEPHONE,所用表名为DETAIL):

    主叫号码(CALLER) 被叫号码(CALLED) 起始时间(START-TIME) 通话时长(LENGTH)秒 通话话费(FEI)元

    PQABCD1 0101234567 98/03 19/27 100 220

    PQABCD2 0371123456 98/03 19/40 370 462

    ……

    ……

    首先,建立ODBC数据库的连接,打开WIN95的“设置”菜单中的“控制面板”,启动ODBC驱动程序,设置相应的ODBC驱动器,本例中为SQLSERVER;建立数据源,为了方便此处数据源的名也为TELEPHONE。假如“控制面板”中没有ODBC驱动程序,可以从WIN95的系统盘中装入,也可从一些共享软件站点下载,具体办法此处不在赘述。

    然后,编写长话明细查询主页,为了简化,清单中删去了一些修饰性的HTML语句,查询类型中也只保留了长话明细(可以包含电话挡案查询和更改、交费汇总和明细、帐务处理等等)。

    长话明细查询主页清单:SEARCH.HTML

    < HTML >

    < HEAD >

    < TITLE >长话明细查询主页< /TITLE >

    < /HEAD >

    < CENTER >

    < TABLE >

    < FONT SIZE="5" COLOR="#990000" >

    长话明细查询< /FONT >

    < FORM METHOD="post" ACTION="

    ../cgi-bin/odbic.exe/cgi-bin/MODEL.html" >

    < TR >< TD ALIGN="right" >< FONT COLOR="#990000" >

    电话号码 : < /FONT > < /TD >

    < TD >< INPUT NAME="DHHM" TYPE="text" SIZE="12"
    >

    < /TD >< /TR >

    < TR >< TD ALIGN="right" >< FONT COLOR="#990000" >

    授权口令: < /FONT > < /TD >

    < TD >< INPUT NAME="PWD" TYPE="password" SIZE="12"
    >

    < /TD >< /TR >

    < TR >< TD ALIGN="right" >< FONT COLOR="#990000" >

    查询类型: < /FONT > < /TD >

    < TD >< SELECT NAME="CATE" >

    < OPTION VALUE= >--请选择--

    < OPTION VALUE="ch" >长话明细

    < /TD >< /TR >

    < /TABLE >

    < INPUT TYPE="submit" VALUE="查询 " >

    < INPUT TYPE="reset" VALUE="清除 " >< /FONT >

    < /FORM >

    < /CENTER >

    < /BODY >

    < /HTML >

    接下来就是编写摸板文件,在编写之前,先介绍以下ODBIC的主要命令。ODBIC软件主要有以下命令:

    DATABASE定义连接ODBC数据库的参数;
    DEFAULT定义变量的默认初始值;
    EACHROW,ENDROW格式化结构化查询后的每一行结果;
    EXEC执行一个系统命令或运行一个DOS程序;
    EXIT终止ODBIC对摸板文件的执行;
    FORMAT定义变量的输出格式;
    IF,ELSE,ENDIF变量条件判断语句;
    IFNEW判断经过对某一字段排序的表是否该字段的值发生了变化;
    INCLUDE读入另一摸板文件;
    OPTIONLIST从查询结果产生一个HTML的“SELECTOPTION”命令;
    OUTPUT把结果输出到磁盘文件;
    SET对变量赋值;
    SQL执行ODBCSQL语句;
    TABLE自动格式化SELECT语句的结果到HTML格式。

    从以上命令可以看出,ODBIC软件功能的强大,通过IF-ELSE-ENDIF和SET命令,可以编写实现很多功能,下面摸板的功能是从SEARCH.HTML主页中获取电话号码和授权口令,对所输号码的明细进行查询,查询结果以表格形式输出,并对话费进行合计。摸板文件清单见后(文件中“//”后面的是注释):摸板文件清单:MODEL.HTML

    < HTML >

    < HEAD >

    < TITLE >ODBIC-TEST-MODEL< /TITLE >

    < /HEAD >

    < BODY BGCOLOR="#ff00ff" TEXT="#FFFF00"

    LINK="#ff00ff" ACTIVE="#000000" VISITED="#000000" >

    < center >

    < table border=3 >

    < !--if $CATE$=ch-- >

    < P >查询号码:$dhhm$

    < !--SET HJ=0.0 -- > //设置合计话费变量的初值;

    < !--DATABASE DSN=telephone;UID=myloginame;PWD=$PWD$ -- >

    //DSN、UID、PWD分别为联结数据库的数据库名、

    用户登录名称、

    //登录口令,这三项均可以变量的形式接收用户输入;

    < !--SQL select called,start_time,length,feI from detail where

    caller=$dhhm$ order by start_time -- >

    < !--eachrow-- >

    < tr >< td >$row$< /td >< td >$called$< /td >< td >

    $start_time$< /td >< td >$length$< /td >

    < td >$fei$< /td >< /tr > //变量row为ODBIC

    本身提供内部变量,表示当前结果集的行//号,ODBIC对结果集的字段名自动默认为变量;

    < !--set $HJ$=$HJ$+$FEI$-- >

    < !--endrow-- >

    < /table >

    < !--ELSE -- >

    < p >< front SIZE="6" COLOR="#990000" >

    对不起你的口令错误!< /front >

    < !--E-- >

    < /center >

    < /BODY >

    < /HTML >

    总上所述,我们SQLSERVER数据库进行了交互访问,同样也可对ORACLE、SYBASE、ACCESS、FOXPRO系列等数据库的访问,并且在同一个摸板文件可以同时打开上述数据库,并把它们关联起来进行事务处理。对于广大关心基于WEB的数据库应用的计算机爱好者来说,ODBIC的确简单、易学、功能强大,本文只是大致介绍了以下,希望我的文章能起到抛砖引玉的作用,欢迎朋友门交流、指导。

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    抖音安全与信任开放日:揭秘推荐算法,告别单一标签依赖

    ultraedit编辑器打开文件时,总是提示是否转换为DOS格式,如何关闭?

    Cornell大神Kleinberg的经典教材《算法设计》是最好入门的算法教材

    从 Microsoft 下载中心安装 Windows 7 SP1 和 Windows Server 2008 R2 SP1 之前要执行的步骤

    Llama 2基于UCloud UK8S的创新应用

    火山引擎DataTester:如何使用A/B测试优化全域营销效果

    腾讯云、移动云继阿里云降价后宣布大幅度降价

    字节跳动数据平台论文被ICDE2023国际顶会收录,将通过火山引擎开放相关成果

    这个话题被围观超10000次,火山引擎VeDI如此解答

    误删库怎么办?火山引擎DataLeap“3招”守护数据安全

    IT头条

    平替CUDA!摩尔线程发布MUSA 4性能分析工具

    00:43

    三起案件揭开侵犯个人信息犯罪的黑灰产业链

    13:59

    百度三年开放2.1万实习岗,全力培育AI领域未来领袖

    00:36

    工信部:一季度,电信业务总量同比增长7.7%,业务收入累计完成4469亿元

    23:42

    Gartner:2024年全球半导体营收6559亿美元,AI助力英伟达首登榜首

    18:04

    技术热点

    iOS 8 中如何集成 Touch ID 功能

    windows7系统中鼠标滑轮键(中键)的快捷应用

    MySQL数据库的23个特别注意的安全事项

    Kruskal 最小生成树算法

    Ubuntu 14.10上安装新的字体图文教程

    Ubuntu14更新后无法进入系统卡在光标界面解怎么办?

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。