2016-06-09 241 views
-3

搜索標準應基於任何可用信息參考號[新/舊]和站點ID。對於搜索條件,至少應該匹配4〜7位數字。對於引用ID最後7個varchar數字和Site ID 4數字數字應匹配。我應該在我的查詢中包含哪些內容以便我的要求符合要求SQL Server查詢

String a = txt_search.getText(); 
String sql = ""; 

sql ="select * from account WHERE siteid ="+a+" or refrenceno='"+a+"' or oldrefrenceno='"+a+"' "; 
+0

[SQL注入警報](http://msdn.microsoft.com/en-us/library/ms161953%28v=sql.105%29.aspx) - 您應該**不**將您的SQL語句連接在一起 - 使用**參數化查詢**來代替以避免SQL注入 –

+0

如何解釋深層錯誤 –

+0

您不應使用賦值運算符(=)並使用'like'代替'=' –

回答

-1

您可以使用類似功能來滿足您的要求。

sql ="select * from account WHERE convert(varchar(50),siteid) like '%"+a+"%' or refrenceno like '%"+a+"%' or oldrefrenceno like '%"+a+"%' "; 
+0

yup問題已解決 –

-1

你可以編寫查詢:

sql="select * from account where siteid like '"+a+"'" 

你可以把更多的條件相同,通過添加「或」邏輯。

+0

謝謝解決問題 –