一. 访问WEB数据库的多种方案
目前在WINDOWS环境下有多种访问WEB数据库的技术,主要有:
1.公共网关接口CGI(Common Gateway Interface)
CGI是较早实现的技术。适用于多种服务器平台,如UNIX、WINDOWS等,但CGI的开发成本高、维护困难、功能有限、不具备事务处理功能、占用服务器资源较多。
2. INTERNET数据库连接器IDC(Internet Database Connector)
IDC集成在ISAPI(Internet Server API)中,充分利用了DLL技术,易扩充,但编程较CGI更为复杂,只适用于小型数据库系统。
3. 先进数据库连接器ADC(Advance Database Connector)
ADC提供了ActiveX Control来访问数据库,它的主要特点是数据查询由用户端浏览器执行,因而需将服务器端数据库中的部分记录下载到用户端,系统开销较大、响应慢,只适用于特别频繁的数据库查询操作。
4. J***A/JDBC语言编程
J***A语言是一种面向对象、易移植、多线程控制的语言,可通过JDBC去连接数据库。用J***A/JDBC编写的软件可移植性强,适用于多种操作系统,但其执行效率和执行速度还不理想,目前无法建立高效、高速的应用。
5. 动态服务器页面ASP(Active Server Page)
ASP是微软公司最新推出的WEB应用开发技术,着重于处理动态网页和WEB数据库的开发,编程灵活、简洁,具有较高的性能,是目前访问WEB数据库的最佳选择。
二.查询WEB数据库举例
下面这段示例程序是访问SQL SERVER数据库的 signaltab表,表中有三个字段:code(代码字段,字符型,3位),class(分类字段,字符型,10位),memo(备注字段,字符型,20位)。程序中数据源DSN:HT、用户名:client、口令:passwd。
屏幕输入页面input.asp
<% @ language=javascript %> <html> <head> <title>请输入查询条件PLEASE INPUT CONDITION</title> </head> <form action=shotquery.asp METHOD="post" target="_self"> <input TYPE="text" size=6 maxlength=3 NAME=signalCode VALUE="代码"> </font></p> </center></div><p></p> <input LANGUAGE="JavaScript" TYPE="submit" VALUE=“确认” NAME="B1"
<input TYPE="reset" VALUE=“清除”NAME="B2">
<input LANGUAGE="JavaScript" TYPE="button" NAME="B3" VALUE=“返回” ONCLICK="window.history.back()"> </font></p> </center></div> </form> </body> </html>
数据库处理程序shotquery.asp
<!--#i nclude virtual="/master/lib.inc"--> <script language=javascript runat=server> var signalCode=Request.Form("signalCode"); dbConn = Server.CreateObject("ADODB.Connection"); dbConn.open("DSN=HT;UID=client;PWD=passwd"); rs = Server.CreateObject("ADODB.RecordSet"); var sqlStr = "select * from signaltab order by code"; rs.open(sqlStr,dbConn,1); if(rs.RecordCount < 1) { Response.write("<p> 无符合条件记录</p>"); Response.write("<p><form> <input type='button' value=' 返回' onclick='window.history.back()' name='b1'></form></p>"); } else { Response.write("<P><center><B>数据查询结果</B></center></P>"); Response.write("<tr><td><b>代码</b></td><td><b>分类</b></td><td><b>备注</b></td>"); for(var i = 1;i <= rs.Pagesize;i++) { if(!rs.Eof) { Response.write("<td><span style='font-size:9t'>"+rs("code")+"</span></td>"); Response.write("<td><span style='font-size:9t'>"+rs("class")+"</span></td>"); Response.write("<td><span style='font-size:9t'>"+rs("memo")+"</span></td>"); Response.write("</tr>"); rs.MoveNext(); } else break; } Response.write("</table></form>"); rs.close(); dbConn.close(); } </script> -------------------------------------------------- 域名相关问题 技术支持中心 常见问题 邮箱相关问题 智能建站相关问题 动态域名相关问题 中文域名相关问题 |