回 帖 发 新 帖 刷新版面

主题:求助VFP访问网站数据库

现有一ASP网站,内有数据库,库中有会员身份证号。
想用VFP写一软件,当使用者输入身份证号后,软件自动去网站数据库搜索,如果是会员,则软件继续运行,如果不是,软件给出提示。
请大侠给出编程思路和关键技术。谢谢!

回复列表 (共11个回复)

沙发

海军老弟:一向可好?
问题提的很好,一并关注。

板凳

ASP需要用户名密码么?
如果不需要,可以直接利用网址获取数据进行分析。

3 楼

很长时间没来啦,很想念大家。前段时间较忙,没时间弄程序,现在有些时间了,又可以和各位大侠交流啦。

ASP代码可以自己编写。用不用密码均可。但我不知道ASP所返回的值,如何到VFP里。

4 楼

http://bbs.pfan.cn/member.asp?userid=38580

可否用这个办法呢?存在就是会员。但我不知道怎么弄。

5 楼

谢谢琅拿度,但是怎样知道存在与否呢?
会员不管是否存在ASP都会返回一个网页的,只是内容不同而已。

6 楼

好象之前看过一些能分析网页内容的帖子。我只是觉得可能可以实现。

技术水平我不太行......呵呵

7 楼

可以在asp中写一个保存xml文件的代码,VFP去访问XML文件。
vfp做asp不是其长项

8 楼

c1s="http://bbs.pfan.cn/member.asp?userid="   &&固定的网址部份

MESSAGEBOX(GetStr(getweb(c1s+"38580")))       &&加上查询参数
MESSAGEBOX(GetStr(getweb(c1s+"72606")))

FUNCTION GetWeb(webs as String) as String     &&获取网页内容
    http = CreateObject("Msxml2.XMLHTTP")     
    =http.Open("GET", webs, .F.)
    =http.setRequestHeader("Content-Type", "text/html")
    http.send
    If http.readyState = 4 Then
        vIn=http.responsebody                 &&获取编码
        strReturn = "" 
        For i = 1 To Len(vIn)       &&编码转换GB2312-UTF8
            ThisCharCode = Asc(substr(vIn,i,1)) 
            If ThisCharCode < 128 Then 
                strReturn = strReturn + Chr(ThisCharCode) 
            Else 
                NextCharCode = Asc(substr(vIn,i+1,1)) 
                strReturn = strReturn + Chr(ThisCharCode * 256 + NextCharCode)
                i = i + 1 
            EndIf 
        Next 
        return strReturn 
    EndIf
ENDFUNC 

FUNCTION GetStr(str1 as String) as String    &&关键字搜索过滤
s2s='<td width="159" height="30" align="center" bgcolor="#F0F0F0"><strong>姓名</strong></td>'+CHR(13)+CHR(10)+'    <td width="595" height="30">&nbsp;&nbsp;<font size="3"><b>'
s3s='<td width="159" height="30" align="center" bgcolor="#F0F0F0"><strong>性别</strong></td>'+CHR(13)+CHR(10)+'    <td width="595" height="30">&nbsp;&nbsp;<font size="3"><b>'
k1=AT(s2s,str1)
IF k1>0 THEN 
   str1=SUBSTR(str1,k1+LEN(s2s))
   k2=AT("</b>",str1)
   s1s1="姓名:"+LEFT(str1,k2-1)
ENDIF 
k1=AT(s3s,str1)
IF k1>0 THEN 
   str1=SUBSTR(str1,k1+LEN(s3s))
   k2=AT("</b>",str1)
   s1s1=s1s1+CHR(13)+CHR(10)+"性别:"+LEFT(str1,k2-1)
ENDIF 
RETURN s1s1
ENDFUNC

9 楼

http://bbs.pfan.cn/member.asp?name=海军

10 楼

这个问题的解决方法是很有学问的。

我的做法是,用asp写一个数据处理中间层,然后VFP程序使用xmlhttp将SQL语句发送到asp中间层去执行,asp中间层执行完SQL语句后,将结果字符串返回VFP程序,VFP程序再将结果字符串转成Cursor临时表。

这样就达到了,VFP直接操作远程网站上数据库的功能了。


关于这个问题的入门帖子可在梅子论坛上找到,可是成熟可用的代码,别人就秘而不宣了。

http://www.meizvfp.com/bbs/dispbbs.asp?boardID=90&ID=84576&page=1
http://www.meizvfp.com/bbs/dispbbs.asp?boardID=90&ID=86041&page=1

我来回复

您尚未登录,请登录后再回复。点此登录或注册