我有一些VB代码试图在函数中执行sql
Public Shared Function getBackgroundInfo(ByVal aID As Guid) As pd_ABC
Dim SQLCMD As New SqlCommand
Dim BackgroundInfoDS As New DataSet()
SQL = "select * from tblABC where ID = '" & aID & "'"
.....
我的ID和aID都是GUID类型,
但是visual studio在ID = '" & aID & "'"
的哪里显示错误
我想知道是否有更好的方法来做到这一点?或者我需要使用参数化查询?
谢谢你的建议!
答案 0 :(得分:4)
"select * from tblABC where ID = '"
是一个字符串,aID
是一个guid。
将aID
添加到字符串中时,请使用aID.ToString()
。
我肯定会推荐您的代码的参数化版本 - 为了安全性,代码质量和一般的良好实践。
答案 1 :(得分:1)
您可以在ToString()
实例上调用Guid
来获取guid的字符串表示形式:
SQL = "select * from tblABC where ID = '" & aID.ToString() & "'"
回答你的另一个问题
或者我是否需要使用参数化查询?
你不需要,但你可能应该这样做。使用参数化查询更安全,更易读。