而根本的解決之道並不是將該值置換或是進行其他字串的處理,而是在進行查詢時以參數的方式代入查詢內容,而非直接組SQL的查詢字串。
Imports Oracle.DataAccess.Client
sSql = "select * from Table Name = :Name "
Dim sCon As New Oracle.DataAccess.Client.OracleConnection(Constr)
Dim sCmd As New Oracle.DataAccess.Client.OracleCommand(sSql, sCon)
sCon.Open()
Dim param As OracleParameter = sCmd.CreateParameter()
param.ParameterName = ":Name "
param.Value = Name
param.OracleDbType = OracleDbType.Varchar2
sCmd.Parameters.Add(param)
說明:
1. Oracle的參數用冒號(:)
2. 使用OracleDbType 要先引入Oracle.DataAccess.Client
上述參數設定部分也可以簡化成
sCmd.Parameters.Add("Name ", OracleDbType.Varchar2).Value = Name
沒有留言:
張貼留言