當前位置:首頁 » 編程語言 » javasql引號

javasql引號

發布時間: 2025-06-13 05:27:17

① 怎麼加引號

不知道你用的是什麼語言。
假設你用的是jsp、c#、java或其他c語系的語言

String sql = "";//in java or jsp(string sql = "";//in c#)
sql = "delete from book where time <"+"2005-1-1";

如果你用的是asp、vb等b語系
只要把「+」號改成「&」就可以了。

具體的你可以去看看相關教程里的字元串拼接。

② 一個欄位多個字元串id 這樣查那邊沒有把 每個id 用雙引號包起來所以這樣in查詢查不到 請問怎麼解決

一、我在批量刪除中也遇到過這種問題,

1.之前我是這樣解決的:

select * from A where ID in (${IDS})

若ID全都是int型(Number),把前端每個ID通過逗號,連接傳過來是沒問題的,

裡面的ID若是字元串正如你所說,若還是這樣連傳進去(假設兩個ID 為"ab" "cd")

就會變成:

select * from A where ID in ("ab,cd")

這樣後台會報 ab is not a column 異常

2.然後我這樣解決:

它裡面缺"那就給它唄,在前端js就用","連起來

比如:

String IDS="";

String IDS = IDS +"""+ID+"""+",";這樣每個ID都會有被"包裹了,然後處理下後面的逗號就OK

二、但這樣是能解決的,但是用${}注入sql 是不安全的,最好是用#{},最後得用mybatis動態sql的 foreach方法。你可以自行網路

例子:

<delete id="delHosts" parameterType="java.util.List">
DELETE FROM A
<where>
ID IN
<foreach collection="list" item="item" separator=","
open="(" close=")" index="index">
#{item.ID}
</foreach>
</where>
</delete>

這個地方你傳進來的 類型是什麼 你的parameterType就得是什麼類型,多嘗試就好了

如果有幫助就點個贊吧,關注就更好了(●'◡'●)

③ oracle java.sql.SQLException: ORA-01756: 引號內的字元串沒有正確結束

create or replace
PROCEDURE GETEMAILS
(
e_username VARCHAR2,
e_getemails OUT p_getemails.getemails
) AS

BEGIN
open e_getemails FOR select * FROM e_user where username<>e_username;
END GETEMAILS;

熱點內容
python跨模塊 發布:2025-07-30 23:04:43 瀏覽:300
阿泰編程 發布:2025-07-30 21:36:05 瀏覽:569
mybatis註解sqlif 發布:2025-07-30 21:33:59 瀏覽:572
安卓手機為什麼削不短下巴 發布:2025-07-30 21:23:13 瀏覽:495
澳洲訪問學者簽證類型 發布:2025-07-30 20:55:12 瀏覽:354
svn切換伺服器ip 發布:2025-07-30 20:43:10 瀏覽:198
匯通啟富軟體如何修改登錄密碼 發布:2025-07-30 20:41:08 瀏覽:243
公共場所的wifi密碼名稱是什麼 發布:2025-07-30 20:19:56 瀏覽:636
ios系統怎麼解壓 發布:2025-07-30 20:14:05 瀏覽:740
sqlip 發布:2025-07-30 19:20:22 瀏覽:178