2016-06-09 120 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

谢谢解决问题 –