![]() ![]() ![]() ![]() |
|||||
|
|||||
樓主 小強 ![]()
![]() |
想請教各位一個問題, 在連線到SQL時~~ 一般會看到類似這樣的寫法 SqlConnection cn1 = new SqlConnection("連線字串"); cn1.Open(); SqlCommand cmd = cn1.CreateCommand(); SQLcommand的command字串中是有變數@id, @pwd 所以加了cmd.Parameters cmd.CommandText = "select * from MEMBERS where LOGINNAME =@id and LOGINPWD =@pwd "; cmd.Parameters.AddWithValue("@id", username); cmd.Parameters.AddWithValue("@pwd", password); 但我看過有一種sqlcommand string 加變數的 寫法是 變數都打? "select * from MEMBERS where LOGINNAME =? and LOGINPWD =? "; 我想請教這是什麼種的寫法 感恩
搜尋相關Tags的文章:
[ Parameters ] ,
本篇文章發表於2017-08-08 11:44 |
1樓
不錯的參考
MIS2000 Lab ![]() |
不同的參數,搭配不同的資料庫
Oracle 請使用 :參數名稱 mySQL請用 ?參數名稱 SQL Server請用 @參數名稱 Access請用 ? (不搭配參數名稱,只有 ?符號) 可以參與這篇文章,希望有幫上忙 https://dotblogs.com.tw/mis2000lab/archive/2014/04/01/oracle_asp-net_sqldatasource_ora-00911_invalid_character.aspx
本篇文章回覆於2017-08-08 12:44
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
2樓 |
小喵小小補充一下
如果用?為參數的方式 由於沒有指定名稱 所以,給參數的『順序』就很重要 要依序給予 ^_^
本篇文章回覆於2017-08-08 13:16
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
3樓
作者回應
小強 ![]() |
請問兩位前輩
OLEDB是不是也是? 因為我看到OLEDB的影子~~而且該寫法是連到SQL 去撈資料~~ 其實我當時就在想OLEDB和SQL到底是什麼關係
本篇文章回覆於2017-08-10 09:49
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
4樓
最有價值解答
topcat ![]() ![]() |
的確
OleDB For SQL 他的參數也是用? https://msdn.microsoft.com/zh-tw/library/system.data.oledb.oledbcommand.parameters(v=vs.110).aspx OleDB是之前的一個方式 時間介於 ODBC與現在的SqlClient之間 之前上課時聽老師說 以效能來說 建議使用SqlClient取代之前的OleDB 效能上會相對好些 ^_^
本篇文章回覆於2017-08-10 09:57
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
5樓
不錯的參考
史努比 ![]() |
oledb理論上是可以依照connection string中不同的provider來連線到各種不同的資料庫, 可以用來連access, excel, ms-sql,
但就算是oledb, 也是可以使用具名參數, 並不是使用oledb就必須得使用匿名參數, 主要還是看資料庫本身是否支援具名參數, 及匿名參數 像access就不支援具名參數, 你用了具名參數, 他也沒辦法照名稱來讀取參數內容。
本篇文章回覆於2017-08-10 10:04
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
6樓 |
看了小喵的連結, 好像真的在oledb中不能使用具名參數~~就算連到MS-SQL也不能使用具名參數
本篇文章回覆於2017-08-10 10:06
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
7樓
作者回應
小強 ![]() |
了解了~~原來是這樣子~~感謝幾位前輩
本篇文章回覆於2017-08-10 11:20
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
回覆 |
如要回應,請先登入. |