如何显示sql语句?

时间:2015-07-14 20:23:40

标签: sql xml vb.net

我有从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

1 个答案:

答案 0 :(得分:1)

在汇编SQL语句时,必须小心使用基本字符串连接,尤其是在您不控制源时。这是不安全的,并为您打开潜在的SQL注入。

更合适的方法是将ParametersCommand对象一起使用。有关示例,请参阅此Microsoft文章。它适用于SQL UPDATE,但该原则仍适用于SELECT

https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.parameters(v=vs.110).aspx?cs-save-lang=1&cs-lang=vb#code-snippet-2