我想搜索DataGridView
中的所有数据。
ID Name Effect
1 NameA Release
2 NameB Make Stronger
3 NameC Boost
为了在DataGridView上显示正确的数据,
SqlCommand searchSqlCmmd;
SqlDataAdapter searchSqlAdpt;
DataTable searchDtbl = new DataTable();
searchSqlCmmd = new SqlCommand();
searchSqlCmmd.Connection = connection;
searchSqlCmmd.CommandType = CommandType.Text;
searchSqlCmmd.CommandText = "SELECT * FROM db.Ability WHERE Name = @searchText OR Effect = @searchText";
searchSqlCmmd.Parameters.Add("@searchText", TextBox.Text);
searchSqlAdpt = new SqlDataAdapter(searchSqlCmmd);
searchSqlAdpt.Fill(searchDtbl);
uxTable.DataSource = searchDtbl;
TextBox.Clear();
对于查询字符串,我使用了OR
,我认为它将搜索这两列。但是,它只搜索第一列(NAME(。我的查询字符串(CommandText
(错了吗?
使用这个:
SELECT * FROM db.Ability WHERE Name LIKE '%' + @searchText + '%' OR Effect = '%' + @searchText + '%'
我想你正在寻找更像的东西
"SELECT*FROM db.Ability WHERE Name LIKE%@searchText%OR Effect LIKE%@searchText%">
编辑:
你可能想使用类似下面的东西
SELECT Name, Effect FROM datainfo
WHERE Name LIKE '%Delta%' OR Effect LIKE '%Delta%';
http://sqlfiddle.com/#!9/c30bc5/3