我有从xml文档中使用CREATE EXTENSION "uuid-ossp";
的函数,然后我想使用该id_judge创建一个sql select 语句。此语句将是id_judge
变量中的字符串。
每个sql select 语句都是一样的。唯一的区别是strOutputSql
,因为这是CodeID
的变量。
现在我的功能id_judge
仅显示“09002P”。我想修改这个变量,而不是显示我在下面的标题预期sql输出下粘贴的sql语句。
我如何在我的功能中执行此操作?
对于我的xml文档,我的Function应该在字符串变量Return strOutputSql
预期的sql输出
strOutputSql
我的vb.net 4.0代码
select *
from ucode as uc
inner join uJudOffc as uj on (uj.JudicialOffCodeID = uc.CodeID)
where Code='09002P'
and uc.CacheTableID = 136
FOR XML PATH('JudgeCode')
带有Private Class MessageProcessor
Inherits Msc.Integration.MessageBroker.Library.v4.XmlMessageProcessor
Protected Overrides Sub ProcessMessage(ByRef aobjBroker As MessageBroker.Library.v4.Broker, ByRef aobjXmlInputDoc As System.Xml.XmlDocument, ByRef aobjInstantiatedObjectsCollection As Microsoft.VisualBasic.Collection)
MyBase.ProcessMessage(aobjBroker, aobjXmlInputDoc, aobjInstantiatedObjectsCollection)
Dim objXmlLoadedElement As XmlElement
Dim strSql As String
Dim strJudgeId As String
objXmlLoadedElement = aobjXmlInputDoc.CreateElement("Loaded")
aobjXmlInputDoc.DocumentElement.AppendChild(objXmlLoadedElement)
strJudgeId = aobjXmlInputDoc.DocumentElement.SelectSingleNode("id_judge").InnerText
strSql = GetSql(strJudgeId)
End Sub
Function GetSql(ByVal astrJudgeId As String) As String
Dim strOutputSql As String
strOutputSql = astrJudgeId
Return strOutputSql
End Function
End Class
“09002P”的我的xml文档,用于在vb.net函数中创建sql语句。
id_judge
答案 0 :(得分:1)
在汇编SQL语句时,必须小心使用基本字符串连接,尤其是在您不控制源时。这是不安全的,并为您打开潜在的SQL注入。
更合适的方法是将Parameters
与Command
对象一起使用。有关示例,请参阅此Microsoft文章。它适用于SQL UPDATE
,但该原则仍适用于SELECT
。