Joomla 远程 SQL 调用 - VB.NET 客户端





0/5 (0投票)
在这篇文章中,我展示了一组有用的辅助类,用于准备和发送消息到 SqlXML Joomla 组件,并在您的托管网站上执行远程 SQL 调用。
目录
引言
这是两篇文章中的第二篇,展示了一种自动化 Joomla 任务或基于它的应用程序的方法。
在第一篇文章中,我展示了服务器端部分,一个可以处理 XML 消息的 Joomla 组件。
对于这篇文章,我实现了一些 VB.NET 类,可以帮助您使用该组件。这些类允许您准备具有“Joomla dbo”样式的 SQL 语句,发送它们并管理响应。
类
jsxHelper
类是用于发送消息的主要辅助类。
它有两个属性,security_token
和 endpoint
,必须使用服务器的参数进行初始化,并且有一个函数 SendMessage()
,它将 jsxRequest
对象作为输入参数,并返回一个 jsxResponse
对象。
安装后,SqlXML
组件在“组件”菜单下显示一个管理页面。
此面板显示了设置 jsxHelper
字段的安全令牌和端点。
jsxRequest
类是根消息容器;在 XML 序列化期间,它表示 <msg-req>
标签。它只是一个容器。
jsxResponse
表示响应消息的根对象,标签 <msg-response>
。
jsxRequest
和 jsxResponse
都具有一个 commands
数组字段,其中包含一个或多个 jsxCommand
。
关注点
与本文一起提供的代码是一个用 VB.NET 编写的控制台项目,它定义了辅助类。
该项目展示了如何使用辅助类发送不同的 SQL 命令。
它执行 DDL 语句,在底层数据库中创建和删除一个临时表,并展示了如何 insert
、update
和 select
一些行,展示了 DML 语句的使用。
一个有趣的类是 jsxSQLCommandBuilder
,它是一个辅助类,用于构建具有“joomla dbo”样式的 SQL 查询。
req = New jsxRequest
Dim cmd As jsxCommand
Dim bld As New jsxSQLCommandBuilder
bld.Action = jsxCommandActionEnum.update
bld.Save = "updated"
bld.Table = "#__sqlxml_demo"
bld.Fields("name") = "Test_Changed"
bld.Where("id", ">") = 5
req.Commands.Add(bld.BuildCommand)
resp = jsxHelper.SendMessage(req)
结论
这个项目向您展示了一个 VB.NET 客户端,它可以快速连接到在 第一篇文章 中发布的 Joomla SqlXML 组件。
然后,您可以从 VB.NET 程序自动化您的 Joomla 任务,并利用事务管理。