MDB数据库文件放在远程服务器上,在本地放一个vb程序,当我在本地输入一个ID号后,程序自动发到服务器端,在服务器的数据库上进行查找,是否由此ID。不管有或没有都向本地返还一个文本。
    
    我非常想学关于网络编程的知识,我也知道用别的一些语言也能解决并且vb6.0对网络支持不是很好,但是现在很着急,暂时只能用vb6.0来解决,请高手指教,先谢谢了。
    如果可能请发个实例,我的邮箱是[email protected]
   
    另外我想问一下我怎么给分。

解决方案 »

  1.   

    可以使用winsock控件,这样服务端还得有监听程序
    可以使用vb+xml+asp这种方式,不知你的远程服务器是否支持?
    vb用来做网络程序还是不错的另外我想问一下我怎么给分。
    回复 | 推荐 | 收藏 | 专题 | 公告 | 管理 | 保存 | 关闭窗口
    点击管理即可
      

  2.   

    将数据库改成Server!我给你源码?
      

  3.   

    能否给个实例。邮箱应该是:[email protected]。不好意思!
      

  4.   

    可以使用vb+xml+asp这种方式,不知你的远程服务器是否支持asp?
    我这里有这种办法
      

  5.   

    能不能不用asp做,只用vb做。我以前从来没有做过网络的程序,对asp不是很了解,最好用vb做,所以请谅解。我是这么想的。服务器端我放一个vb程序做处理。
    当我发送一个文本到服务器的指定目录下,服务器上有一个相应的vb程序,当发现有新增文本的时候就去读取文本信息在mdb中查询,再返回一个相应的文本给本地,本地的vb程序再去显示。不知道可否这么做。希望指教!
      

  6.   

    www.vbgood.com中搜索,有类似的
      

  7.   

    请问有什么别的方法,服务器支持asp。
      

  8.   

    仅供参考,希望对你有用COM+系列——设计可伸缩的应用
    龙卷风
    关键字:XML,HTTP,COM+
    1. 伸缩性
    伸缩性是衡量应用在同一时间内能够处理多少用户的尺度。也是反映应用程序能否满足重要应用的一个指标。
    在你的应用程序中到底可以容纳多少用户,每个用户每隔多久向服务器提交一次请求,你的用户所处的位置,如局域网还是interner中。这些问题在设计应用的时候,你需要考虑。
    在设计分布式应用之前,一个问题就是使用的协议。如DCOM、HTTP和MSMQ。
    DCOM的缺点是显著的。如不能穿越防火墙。不能利用基于请求的负载平衡技术,因而限制了并发用户的数量,还要对每台客户机进行大量的配置等等。
    HTTP实现简单及各个平台的支持越来越受到欢迎。事实上,构建COM+体系结构是建立在下面这个基础之上的:一个应用必须使用HTTP来实现客户到服务的通信才能获得最大的伸缩性。2. 实际的问题
    经常我们会遇到这样的问题,如一个总店与多个分店的情况,要求每天分店将业务数据上传到总店。彼此相隔较远。
    总店的环境:有自己的固定IP 的WEB服务器(或者没有固定IP)的,或者没有自己的服务器,仅仅有一个虚拟空间的网站。
    分店的环境:可以通过拨号方式连接。
    3.达到的要求
    总店每天可以通过网站及时的看到分店的情况。并且数据要做到本地保留。
    4.常见的解决办法
    最多的一种方式就是分店将数据导出成txt文件,拨号连接成功后,将txt传送到某个ftp目录或者发送到指定的Email里。总店手工接收或者程序接收后,再做处理。
    还有一种就是分店的数据库直接连接总店的数据库,做保存更新操作。
    5.使用HTTP和XML来实现
    就是客户端应用程序通过一个XML文档传递参数,向Web服务器提交一个HTTP请求。服务端使用一个Asp页面得到该参数,执行其方法,然后使用XMl文档向客户端返回数据。
    先看看服务端ASP的代码:
    1).从服务端返回数据
    getinfo.asp(以流的方式返回记录集)
    <%@ Language=VBScript %>
    <%
    set conn=Server.CreateObject("ADODB.connection")
    conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("web.mdb")  dim rs
      Set rs = Server.CreateObject("ADODB.Recordset")
      rs.open "select * from test",conn
      rs.save response,1
      rs.close
    %>
    这里说明一下:只要客户端在请求中发送了符合格式的XML文档,ASP中的Request和Response对象就能工作。(这项技术只能在IIS5和Windows 2000中以及各自的高版本中使用。)
    在客户端使用vb
    '引用microsoft activex data object 2.x library
    ‘引用microsoft XML,version2.0
    Option Explicit
    Private rs As ADODB.Recordset
    '从远程数据库得到内容
    Private Sub Command5_Click()
    ‘提交一个HTTP请求。
    Set rs = New ADODB.Recordset
    rs.Open "http://localhost/webxml\getinfo.asp"
    Set DataGrid1.DataSource = rs
    End Sub2)单个记录提交到远程asp文件
    Getsingleinfo.asp(数据增加并返回结果)
    <%@ Language=VBScript %>
    <%
    '这里需要修改,返回客户的xml响应文档
    Response.ContentType = "text/xml"set conn=Server.CreateObject("ADODB.connection")
    conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("web.mdb")   dim xmldom
      ' set xmldom = Server.CreateObject("Microsoft.XMLDOM")
       set xmldom = Server.CreateObject("MSXML.DOMDocument")
       xmldom.load Request   dim sid,name,price,catagory,pdate
       sid = xmldom.selectSingleNode("//项目编号").text
       name = xmldom.selectSingleNode("//项目名称").text
       price = xmldom.selectSingleNode("//价格").text
       catagory = xmldom.selectSingleNode("//种类").text
       pdate =xmldom.selectSingleNode("//发生日期").text   dim strsql,retval
       on error resume next
       strsql="insert into test(sid,name,price,catagory,pdate) values('"& sid &"','"& name &"','"& price &"','"& catagory &"','"& pdate &"')"
       'response.write strsql
       conn.execute strsql
       if err.number=0 then
          retval="数据成功提交"
       else
          retval="数据提交失败,请检查你的数据"
       end if
       
       set xmldom = Nothing
       set conn=nothing
    '下面的代码是将结果以xml形式返回
    '需要加上<?xml version="1.0" encoding="gb2312"?>这句,否则无法返回中文
    %>
    <?xml version="1.0" encoding="gb2312"?>
    <Response>
      <retval><%=retval%></retval>
    </Response>相应的客户端vb代码:
    Private Sub Command3_Click()
      Dim httpRequest As MSXML.XMLHTTPRequest
      Set httpRequest = New MSXML.XMLHTTPRequest
      Dim StrXml As String
      '构造出要上传的XML串,这里节点使用中文
      StrXml = "<Request>" & _
               "<项目编号>" & Txtbh.Text & "</项目编号>" & _
               "<项目名称>" & Txtname.Text & "</项目名称>" & _
               "<价格>" & Txtprice.Text & "</价格>" & _
               "<种类>" & TxtCategory.Text & "</种类>" & _
               "<发生日期>" & Txtpdate.Text & "</发生日期>" & _
               "</Request>"
                   
      httpRequest.Open "POST", "http://localhost/webxml/putsingleinfo.asp", False
      
      httpRequest.send StrXml
      
      '如果错误
      If httpRequest.Status <> 200 Then
        MsgBox httpRequest.statusText, , httpRequest.Status
        Exit Sub
      End If
      
      '以下是判断数据是否正确提交
      Dim strretval As String
      Dim ResponseXml As DOMDocument
      Set ResponseXml = New DOMDocument
      Set ResponseXml = httpRequest.ResponseXml
      strretval = ResponseXml.selectSingleNode("//retval").Text
      MsgBox strretval
    End Sub3)多条数据上传
    putinfo.asp
    <%@ Language=VBScript %>
    <!--#include file="adovbs.inc"-->
    <%
    Response.ContentType = "text/xml"set conn=Server.CreateObject("ADODB.connection")
    conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("web.mdb")  dim rs
      on error resume next
      Set rs = Server.CreateObject("ADODB.Recordset")
      dim xmldom
      ' set xmldom = Server.CreateObject("Microsoft.XMLDOM")
       set xmldom = Server.CreateObject("MSXML.DOMDocument")
       xmldom.load Request   dim sid,name,price,catagory,pdate
       Set xmlNode = xmlDom.documentElement
       Set objRetValNode = xmlDom.documentElement   For i = 0 To xmlNode.childNodes.length - 1
        sid =  xmlnode.childNodes(i).childNodes(0).Text
        name =  xmlnode.childNodes(i).childNodes(1).Text
        price =  xmlnode.childNodes(i).childNodes(2).Text
        catagory =  xmlnode.childNodes(i).childNodes(3).Text
        pdate =  xmlnode.childNodes(i).childNodes(4).Text   strsql="insert into test(sid,name,price,catagory,pdate) values('"& sid &"','"& name &"','"& price &"','"& catagory &"','"& pdate &"')"
       'response.write strsql
       conn.execute strsql
       next   if err.number=0 then
          retval="数据成功提交"
       else
          retval="数据提交失败,请检查你的数据"
       end if
       
       set conn=nothing
    %>
    <?xml version="1.0" encoding="gb2312"?>
    <Response>
      <retval><%=retval%></retval>
    </Response>相应的vb客户端代码
    Private Sub Command2_Click()
    Dim rs1 As New ADODB.Recordset
    rs1.CursorLocation = adUseClient
    rs1.CursorType = adOpenKeyset
    rs1.LockType = adLockBatchOptimisticrs1.Open "select * from test", conn, adOpenDynamic, adLockPessimistic'由于RequestXml所包含的东西过多,我们直接生成xml文件
    '直接使用了数据库字段,没有使用中文命名
    Dim strXML
    Dim fm
    strXML = "<xml>"
    rs1.MoveFirst
    Do While Not rs1.EOF
    strXML = strXML & "<row>"
    For Each fm In rs1.Fields
    strXML = strXML & "<" & fm.name & ">" & fm.Value & "</" & fm.name & ">"
    Next
    strXML = strXML & "</row>"
    rs1.MoveNext
    Loop
    strXML = strXML & "</xml>"
    Set rs1 = Nothing
    Dim httpRequest As New MSXML.XMLHTTPRequest
    httpRequest.Open "POST", "http://localhost/webxml/putinfo.asp", False
    httpRequest.send strXMLIf httpRequest.Status <> 200 Then
        MsgBox httpRequest.statusText, , httpRequest.Status
        Exit Sub
    End IfSet rs = New ADODB.Recordset
    '重新加载
    rs.Open "http://localhost/webxml\getinfo.asp"
    Set DataGrid1.DataSource = rs  '以下是判断数据是否正确提交
      Dim strretval As String
      Dim ResponseXml As DOMDocument
      Set ResponseXml = New DOMDocument
      Set ResponseXml = httpRequest.ResponseXml
      strretval = ResponseXml.selectSingleNode("//retval").Text
      MsgBox strretval
      
    End Sub结束语:
    这个例子充分的体现了HTTP和XML的优势。对于客户来说,可以订制自己的xml格式,清晰易懂。安全性大大的提高。而且可以在不同的应用服务器上加以扩展使用。
    如果要提高性能和加大安全性,在服务端可以使用COM组件来扩展ASP,以达到最好的效果。
    下载本例子的完整代码
      

  9.   

    信息如果是文本或者可以构造成xml串
    使用我上面的,效果不错