如果使用web数据源,是不是说只要用帮助里的这两节:在服务端建立Web数据源、在客户端连接Web数据源,做好设置以后,就跟直连数据库一样?
不需要HttpRequest来实现数据更新
需要HttpRequest,就是下面这种代码,具体在服务端建立Web数据源里有说明
Select Case e.Path
Case "DataServer.htm"
e.AsDataServer("Orders") '将一个本地数据源公开为Web数据源
End Select
一、场景:服务端仅提供数据源服务二、服务端设置
(1)管理项目>项目属性>项目事件>AfterOpenProject:
HttpServer.Prefixes.Add("http://*/")
'HttpServer.WebPath = "d:\web" '''这个是存储静态网页文件如html用的?
HttpServer.Start()
(2)数据表>外部数据源,配置好外部数据源,假设外部数据源名称=CS
(3)管理项目>网络监视器>HttpRequest事件
''Sel ect Case e.Path ''头尾全部注释掉,只保留涂黄的一句代码
'' Case "DataServer.htm"
e.AsDataServer("CS") '将一个本地数据源公开为Web数据源
''End Se lect
(4)杂项>重定向>Redirect,将数据定向到外部数据源
三、客户端设置
(1)管理项目>项目属性>项目事件>BeforeConnectOuterDataSource:这个事件是否必须设置?
Sel ect Case e.Name
Case "CS"
Dim sb As New StringBuilder
sb.AppendLine("http://127.0.0.1/DataServer.htm")
sb.AppendLine("-FormData-")
sb.AppendLine("UserName:张三")
sb.AppendLine("Password:888") '如果是要对登录账号做校验,这个是要用全局变量(如登录用户、登录账号)合成?比如象下面这样?
sb.AppendLine("UserName:" & 全局变量登录账号)
sb.AppendLine("Password:" & 全局变量登录密码)
e.ConnectionString = sb.ToString()
End Select
(2)外部数据源设置,数据表>外部数据源>增加
http://127.0.0.1/dataserver.htm '''后面的dataserver.htm似乎也没有必要加,但考虑到如果服务端要公开多个数据源时,还是要指定路径
(3)不需要在杂项>重定向里做设置
这样就算设置完成了?
二、服务端设置(1)如果这个项目不做网页,可以不设置HttpServer.WebPath
(3)必须保留select case,否则任何地址都会触发数据源的处理,必须保证是DataServer.htm这个地址才处理数据库
三、客户端设置
(1)可以直接在菜单的数据源里设置,不需要这个事件
(2)建议指定地址,否任何地址都可以触发数据库处理,会有问题的
(3)一般直接添加数据源即可,不需要重定向
三、客户端设置
(1)可以直接在菜单的数据源里设置,不需要这个事件
------意思是不是这样设置就可以了?外部数据源设置,数据表>外部数据源>增加 http://127.0.0.1/dataserver.htm
(2)建议指定地址,否任何地址都可以触发数据库处理,会有问题的
(3)一般直接添加数据源即可,不需要重定向