sql語句傳參數
『壹』 sql語句加參數
你需要了解sql語句的拼接和一般字元串的拼接的異同.
例如:在sql腳本語句中,字元串用單引號'',這些在C#語句中拼接"sql語句"字元串時需要注意.
你可以在vs.net中寫一個用字元串拼接的sql語句,最後把它賦值給一個字元串對象.然後用斷點調試區查看生成的sql語句的結果,一般sql語句較長,驗證的方式都是把這段sql語句到sql sever的腳本文件(.sql)中去執行一下,就知道是否正確了.當然也有先在sql server 中調試好拼接字元串後再到程序代碼中去修改的.具體方式不定.
(以上是介紹的拼接sql語句方法,不過這種方式的安全性不高,常見的sql注入式攻擊就是利用的拼接sql語句的缺陷.)
你還可以考慮使用帶參數的存儲過程來實現,這個就需要了解存儲過程的一些知識了,具體的方法我就不介紹了,關於帶參數的存儲過程,網上有很多例子參考.
『貳』 請問在java中怎麼向sql語句傳參數啊
你連資料庫是通過JDBC連接的嗎,有個參數可以傳遞過去的
PreparedStatement
ps
=null;ResultSet
rs
=null;try{
ps
=
conn.prepareStatement("SELECT
*
FROM
table
WHERE
name
=
?");
ps.setString(1,
"hello");
這個「?」相當於佔位符,setString(1,
"hello");就是要傳遞的參數。
『叄』 請問在java中怎麼向sql語句傳參數啊
你連資料庫是通過JDBC連接的嗎,有個參數可以傳遞過去的
PreparedStatement ps =null;ResultSet rs =null;try{
ps = conn.prepareStatement("SELECT * FROM table
WHERE name = ?");
ps.setString(1, "hello");
這個「?」相當於佔位符,setString(1, "hello");就是要傳遞的參數。
『肆』 sql語句中使用關鍵字in,該如何傳遞參數
請將參數拼接到sql腳本中,不然你直接的結果不是你想要的哦!
例:
declare@avarchar(100)
set@a='34,12,335'
declare@sqlvarchar(max)
set@sql='select*fromtableNamewherekeyIdin('+@a+')'
print(@sql)
exec(@sql)
請試一試,如有疑問,及時溝通!
『伍』 SSH項目中執行大量Sql語句以及傳參數的疑問該如何解決
SQL code select * into testOutput.dbo.UserInfo from testOutput2.dbo.UserInfo where testOutput2.dbo.UserInfo.id=1; select * into testOutput.dbo.unitInfo from testOutput2.dbo.unitInfo where testOutput2.dbo.unitInfo.userId=1; select * into testOutput.dbo.userGroup from testOutput2.dbo.userGroup where testOutput2.dbo.userGroup.userId=1 項目採用Struts2.2.3 Hibernate 3.6.1 Spring 3.1.1 項目中有如上需求 需要導出用戶的數據 上面的SQL 語句能成功執行,達到了項目的需求。 但是,現在問題來了。 1.用戶可能不懂SQL 語句,用戶只需要頁面上點擊一個按鈕即可。 這時候就要求需要做到程序中了。 我的要求是: SQL 語句中有個userId 參數,這個參數 我希望從程序中得到。例如這個userId 我會存 入session 中。 2.上述SQL 語句會很多很多,25 組吧~,一組就是針對一張表的查詢。 ------解決方案-------------------------------------------------------- 當用戶點擊按鈕的時候,你就保存按鈕那時的userid ,再傳入後台執行。 因為你是把userid 保存到session 的,就證明此時訪問的用戶為登錄用戶。 第二就沒辦法了,感覺是用老辦法,一個一個執行 粗淺見解,不對之處,望請見諒。 ------解決方案-------------------------------------------------------- 23 租sql 全放在存儲過程中執行,應該是最高效的。 ------解決方案-------------------------------------------------------- 給分啊 !!不用答了,,這么簡單可以試試bat 文件~