65.9K
CodeProject 正在变化。 阅读更多。
Home

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

emptyStarIconemptyStarIconemptyStarIconemptyStarIconemptyStarIcon

0/5 (0投票)

2015 年 9 月 9 日

CPOL

2分钟阅读

viewsIcon

9336

downloadIcon

75

在这篇文章中,我展示了一组有用的辅助类,用于准备和发送消息到 SqlXML Joomla 组件,并在您的托管网站上执行远程 SQL 调用。

目录

引言

这是两篇文章中的第二篇,展示了一种自动化 Joomla 任务或基于它的应用程序的方法。
在第一篇文章中,我展示了服务器端部分,一个可以处理 XML 消息的 Joomla 组件。

对于这篇文章,我实现了一些 VB.NET 类,可以帮助您使用该组件。这些类允许您准备具有“Joomla dbo”样式的 SQL 语句,发送它们并管理响应。

jsxHelper 类是用于发送消息的主要辅助类。
它有两个属性,security_tokenendpoint,必须使用服务器的参数进行初始化,并且有一个函数 SendMessage(),它将 jsxRequest 对象作为输入参数,并返回一个 jsxResponse 对象。

安装后,SqlXML 组件在“组件”菜单下显示一个管理页面。

此面板显示了设置 jsxHelper 字段的安全令牌和端点。

jsxRequest 类是根消息容器;在 XML 序列化期间,它表示 <msg-req> 标签。它只是一个容器。

jsxResponse 表示响应消息的根对象,标签 <msg-response>

jsxRequestjsxResponse 都具有一个 commands 数组字段,其中包含一个或多个 jsxCommand

关注点

与本文一起提供的代码是一个用 VB.NET 编写的控制台项目,它定义了辅助类。

该项目展示了如何使用辅助类发送不同的 SQL 命令。
它执行 DDL 语句,在底层数据库中创建和删除一个临时表,并展示了如何 insertupdateselect 一些行,展示了 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 任务,并利用事务管理。

© . All rights reserved.