[問題] 問@是sql語法還是C#語法

看板C_Sharp (C#)作者 (net)時間7年前 (2018/03/31 12:47), 編輯推噓5(5011)
留言16則, 9人參與, 7年前最新討論串1/1
SelectCommand= "SELECT [id], [test_time], [title], [summary] FROM [test] WHERE ([title] LIKE '%' + @title + '%')" 我想問@title 是@是變數的意思嗎 是SQL語法 還是C#語法 一直以為用[title]即可 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.165.188.18 ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1522471666.A.450.html

03/31 13:03, 7年前 , 1F
c# 語法,有興趣的話 sqlparameter, sql injection
03/31 13:03, 1F

03/31 13:04, 7年前 , 2F
可以 google 一下
03/31 13:04, 2F

03/31 13:29, 7年前 , 3F
應該是sql語法 只是C#幫你省略declare
03/31 13:29, 3F

03/31 14:25, 7年前 , 4F
SQL語法,MSSQL用@來表示變數,後面的Parameters.Add
03/31 14:25, 4F

03/31 14:26, 7年前 , 5F
最後則會轉出declare變數的語法,至少MSSQL原理是這樣
03/31 14:26, 5F

03/31 14:28, 7年前 , 6F
有興趣理解細節用SQL Server Profiler可以查看
03/31 14:28, 6F

03/31 14:30, 7年前 , 7F
[title]是表示table field,@title是名為title的變數
03/31 14:30, 7F

03/31 14:36, 7年前 , 8F
SQL語法,整個用雙引號包住了,是一個String,怎麼會是C#
03/31 14:36, 8F

03/31 14:36, 7年前 , 9F
語法?
03/31 14:36, 9F

03/31 14:36, 7年前 , 10F
用@名稱來當placeholder不是標準,應該是MSSQL的用法
03/31 14:36, 10F

03/31 14:40, 7年前 , 11F
欄位用[]也是MSSQL的
03/31 14:40, 11F

03/31 15:19, 7年前 , 12F
03/31 15:19, 12F

03/31 20:45, 7年前 , 13F
sql
03/31 20:45, 13F

04/01 19:28, 7年前 , 14F
"誰說用{0}包住就不是c#語法"
04/01 19:28, 14F

04/01 19:28, 7年前 , 15F
好拉這裡的@是sql的
04/01 19:28, 15F

04/01 20:23, 7年前 , 16F
有這種問題的話,先學怎麼用SqlParameter或LINQ,不要自串
04/01 20:23, 16F
文章代碼(AID): #1QlnBoHG (C_Sharp)
文章代碼(AID): #1QlnBoHG (C_Sharp)