标题:[讨论]各位有asp与vfp数据库链接有关语法?
只看楼主
honrry
Rank: 1
等 级:新手上路
帖 子:103
专家分:0
注 册:2004-6-2
 问题点数:0 回复次数:2 
[讨论]各位有asp与vfp数据库链接有关语法?
在asp环境里,当与vfp数据库建立链接后,请问有关语法?欢迎各位进来讨论: 我在这里转摘一篇文章,这篇文章只是简单介绍了部分语法,如变量的链接(在sql数据库里用&,在accece里用+等)就需要各位大侠一起来完善收集:

服务器端VFP数据库的技术实现

袁培燕,张俊娜

(河南师范大学物理与信息工程学院,河南新乡 453002)

摘要:Active Server Pages (ASP)是应用于服务器端的一种编程语言,对数据库有强大的操作、处理、控制能力。Visual FoxPro (VFP)是目前在社会上广泛流行的数据库开发工具之一,在教学领域内也得到了广大师生的喜爱。然而常见的服务器端数据库是Access和SQLServer,忽视了VFP广泛的用户基础。本文阐述了ASP对VFP作为服务器端数据库的综合控制,并给出了一个具体的解决方案。

关键词:VFP, 服务器端数据库,ASP,ADO

1 与数据库建立链路通道

一般情况下,asp与数据库建立链路通道有如下两种方法:

1.1 ODBC方式建立链路

在目前网络教材中关于这方面的知识介绍的较多,本文不再详述。有兴趣的读者请参阅参考文献[1]

1.2 ADO(ActiveX Data Objects)方式建立链路

ADO方式(见参考文献[2])是为访问OLEDB提供的编程接口模型,通过程序设计与数据库建立链路,与ODBC方式相比,突破了只能在局域网内调试程序的局限,更加灵活方便,因而是目前网络中较流行的一种方法。一般步骤如下:

①与数据库建立通信;

②通信成功后打开数据表;

③将数据表的信息存于记录集(RecordSet);

④以该记录集进行操纵显示到浏览器中。

下面结合VFP数据库进行具体的操作。 

2 ASP与VFP的结合

2.1与数据源建立连接。

<% Driver="Driver={Microsoft Visual FoxPro Driver};"

DBPath="SourceDB=" & Server.MapPath("sjk.dbc")取得数据库sjk存放的绝对路径

SourceType="SourceType=DBC;"

starttime=timer()取得开始链路时的时间

set conn1=Server.Createobject("ADODB.Connection")创建对象

%>

对各种数据库的链接方式见参考文献[3]。

2.2打开数据表

<%conn1.Open Driver & SourceType & DBPath%>

2.3将数据表的信息存于记录集(rs)

<%

set rs= Server.Createobject("ADODB.Recordset")

sql="select * from label"

rs.open sql,conn1,1,1

%>

2.4对记录集进行操作

2.4.1浏览操作

<%

rs.movefirst指针回归

response.write"<table border=1 width=200 align=center><tr><td>姓名</td><td>年龄</td><td>编号</td></tr>"

do while not rs.eof

response.write"<tr><td>"

%><%=rs(0)%><%response.write"</td>"每个字段的内容占表的某行的一列。一行对应表的一条记录

response.write"<td>"%><%=rs(1) %><%response.write"</td>"%>

<%response.write"<td>"%><%=rs(2) %><%response.write"</td>"

response.write"</tr>"%>

输出一条记录的内容

<%rs.movenext指针下移

loop%>

<%response.write"</table>"

endtime=timer()操作结束时的时间

timediff=(endtime-starttime)*1000&"毫秒"

%><div align="center">

<table border="1" width="200" height="21">

<tr>

<td align="center"><%=timediff%></td>

</tr>

</table>

浏览结果如下:


2.4.2插入操作

<%sqladder="insert into label(姓名,年龄,编号)values(d,26,0004)"

conn1.Execute(sqladder)%>

本文只介绍了插入一条记录的方法,插入多条记录以及将一个表中的内容导入到另一表中的方法只须加上一个循环就能完成,限于篇幅不在此做详细介绍。

插入结果如下:


2.4.3删除操作

<%sqldel="delete from label where 编号=0004"

conn1.Execute(sqldel)

%>

删除结果如下:


以上各种操作已在winxp和iis5.0环境下上机通过。

3 小结

通过上面的分析,不难看出ASP操纵VFP数据库非常方便,响应时间也较短(一般在毫秒级)。有兴趣的读者还可以对各种数据库的响应时间做一比较,限于篇幅本文不在此详述。希望本文能起到一个抛砖引玉的作用。

搜索更多相关主题的帖子: vfp 数据库 语法 新乡 河南 
2005-04-21 01:02
哈马拟
Rank: 1
等 级:新手上路
帖 子:270
专家分:0
注 册:2004-7-15
得分:0 
honrry你前段时间忙什么去啦?都有半年多没见你到这论坛上来了.

那段时间在忙做新郎官吧!

2005-04-21 06:25
honrry
Rank: 1
等 级:新手上路
帖 子:103
专家分:0
注 册:2004-6-2
得分:0 
哈马以兄,很不好意思,因为前端时间出去学习,没时间与各位兄弟探导。

2005-04-22 01:02



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-16230-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017534 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved