2012-07-17 35 views
2

分割字符串值,我想用單引號splite值如何爲SQL

昏暗usr指定爲字符串

usr = "01,AF,BF,CD,DF,FE," 

我想通過這個字符串到SQL查詢

SQL查詢

Select * from table1 where code in ('" & usr & "') 

輸出什麼都不顯示,bcoz在sql中傳遞字符串不正確

的SQL將不明白'01,AF,BF,CD,DF,FE「,取而代之的是,我們需要通過 字符串這樣

user = 'AF', 'BF', 'CD', 'FE' 

如何做到這一點。

需要VB6代碼幫助

+0

聖SQL注入漏洞蝙蝠俠! – 2012-07-18 15:29:31

回答

3

這是我會做它取代:

usr = Replace(Left(usr, Len(usr) - 1), ",", "','") 
sql = "Select * from table1 where code in ('" & usr & "')" 
+0

必須downvote for sql注射問題。這不是任何人都應該效仿的代碼。 – 2012-07-18 15:29:46

+0

@Joel:哦,拜託。問題更多的是如何格式化字符串,而不是如何在代碼中實現SQL。考慮到正在使用「IN」條款,它將需要跳過一個曲折的圈來實現傳遞參數。而且,所使用的代碼顯然不是用戶生成的,所以在這種特殊情況下,SQL注入的可能性成爲一個問題,遠非如此。 – Antagony 2012-07-18 16:18:57

+1

我同意,如果SQL注入只是一個「華麗」,而不是最受攻擊的安全問題之一。 – 2012-07-18 20:55:50

0
arr = split(usr, ",") 
usr = join(arr,"','") 

剪掉雙引號和單引號

+0

它是這樣來的AF','BF','CD','FE','我想像這樣顯示'AF','BF','CD','FE' – JetJack 2012-07-17 06:53:22