今天晚上看論壇,有人提問說,Parameters.AddWithValue方法在有些情況下不好使,他的寫法是這樣的:
這是因爲,ASP.NET在生成SQL語句時,會在Like後面再加上一次單引號,造成錯誤,如果打開 SQL Server的跟蹤管理器,可以看到執行的語句如下
exec sp_executesql N'SELECT * FROM Article Where [Title] like @strWhere',N'@strWhere nvarchar(5)',@strWhere=N'%爲什麼%'
不難理解,在 OldDbCommand 中也會有類似的做法。
正確的代碼爲: