在客户端连接Web数据源

请确保服务端项目已经启动。

在客户端项目连接Web数据源很简单,假定客户端和服务端项目在同一台电脑,为了连接上一节所创建的Web数据源,可以按下图所示输入连接字符串:

现在我们就可以像常规数据源一样,从这个Web数据源中添加数据表到Foxtable,一样可以增加、删除和修改数据,一样可以使用加载树和筛选树,一样可以进行各种统计分析,一样可以进行各种开发,源代码也和以前一样,没有任何特殊之处。

连接Web数据源时,通常需要附加一些表单数据或Cookie数据,服务端据此进行身份验证

Web数据源连接字符串格式为:

http://地址
-FormData-
键1:值1
键2:值2
-Cookies-
键1:值1
键2:值2

第一行为数据源的地址,"-FormData-"行之后为附加的表单数据,"-Cookies-"行之后为附加的Cookie数据。

可以看到Web数据源的创建和连接都很简单,为了方便,可以在开发过程中采用传统数据源,发布前再根据需要改为Web数据源即可,实际上对于已经发布的项目,也可以在传统数据源和Web数据源之间 随意切换。

BeforeConnectOuterDataSource事件

在连接Web数据源之前,一样会触发BeforeConnectOuterDataSource事件,我们可以在这里动态合成连接字符串,合成字符串的时候,必须严格按照上述格式要求。

例如:

If e.Name = "Orders" Then
    Dim sb As New StringBuilder
    sb.AppendLine("http://127.0.0.1/DataServer.htm")
   
sb.AppendLine("-FormData-")
    sb.AppendLine("UserName:张三")
    sb.AppendLine("Password:888")
    e.ConnectionString = sb.ToString()

End
If

运行过程中创建和修改Web数据源

可以在运行过程中创建一个Web数据源,例如:

Dim sb As New StringBuilder
sb
.AppendLine("http://127.0.0.1/DataServer.htm")
sb
.AppendLine("-FormData-")
sb
.AppendLine("UserName:张三")
sb
.AppendLine("Password:888")
Connections
.Add("Sales",sb.ToString)

你也可以在运行过程中修改Web数据源的属性,例如:

Connections
("Orders").DataServer = "http://127.0.0.1/DataServer.htm"
Connections
("Orders").FormData("UserName") = "李四"
Connections
("Orders").FormData("PassWord") = "999"
Connections
("Orders").FormData("AccessToken") = "asgkfd9is45" '添加一个新的表单项

提示:

1、上述属性对常规数据源无效。
2、实际开发中,请不要使用UserName和Password这种指向性很明确的词汇作为键名。
3、Foxtable已经占用的键名有: Action、Datatable、IgnoreSchema和Select。请不要在自己的代码中使用以上键名,以免冲突。

判断某个数据源是否可以连通

判断某个数据源是否可以连通的参考代码:

Dim
sb As New StringBuilder
Dim
Err As String
sb
.AppendLine("http://127.0.0.1/DataServer.htm")
sb
.AppendLine("-FormData-")
sb
.AppendLine("UserName:张三")
sb
.AppendLine("Password:888")
If
Connections.TryConnect(sb.Tostring, Err) = False Then
    MessageBox.Show(err,"
提示",MessageBoxButtons.OK,MessageBoxIcon.Error) '显示错误信息
Else

    MessageBox.Show("数据源可以正常连通!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)

End
If


本页地址:http://www.foxtable.com/mobilehelp/topics/286.htm