2012-03-03 44 views
0

我想做一个搜索功能,但我需要从1个文本框中搜索多个列。 比如我有:asp.net c#多表搜索

string select="Select * From tableName where(Name like'%" + texbox1.text.ToString() + "'"; 
sqldatasource1.selectcommand = select; 

通过代码,我只能在表名称进行搜索。我怎样才能扩展这个功能来对付很多列?

SQL数据库2008 感谢

+0

1.阅读了有关SQL注入,因为你是持开放的态度。 2.代码如何知道你想搜索另一列/你会总是搜索几列? – kaj 2012-03-03 13:29:37

+0

您在这里遇到安全问题。阅读此http://stackoverflow.com/questions/6612306/prevent-sql-injection – Pleun 2012-03-03 13:32:03

回答

1

我不知道我是否正确地理解你的问题。你问如何搜索多个列?如果是这样,您的where子句很简单:

where Column1 like '%'" + textbox1.text.ToString() + " OR Column2 like '%'" + textbox1.text.ToString(); // ... and so on 

但请不要建立如图所示,因为这暴露了你的SQL注入攻击您的查询字符串!改为使用命名参数。