3 回答
TA贡献1111条经验 获得超0个赞
使用like operator而不是=
SELECT * FROM Customers WHERE CompanyName like @filter + '%'"
TA贡献1860条经验 获得超9个赞
'Like' 应该用作(SELECT * FROM Customers WHERE CompanyName LIKE @filter + '%'):
private void DoFilter()
{
using (connection = new SqlConnection(connectionString))
using (SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM Customers WHERE CompanyName LIKE @filter + '%'", connection))
{
adapter.SelectCommand.Parameters.AddWithValue("@filter", txtFilter.Text.Trim());
DataTable TCustomers = new DataTable();
adapter.Fill(TCustomers);
lstCustomers.DisplayMember = "CompanyName";
lstCustomers.ValueMember = "Id";
lstCustomers.DataSource = TCustomers;
}
}
TA贡献1799条经验 获得超6个赞
您不是在使用LIKE运算符,而是在使用=运算符。
它应该是:
using (SqlDataAdapter adapter = new SqlDataAdapter( "SELECT * FROM Customers WHERE CompanyName LIKE @filter + '%'", connection))
按照您编写它的方式,SQL 将匹配一个末尾带有 a 的精确字符串%,因此您不会得到任何结果。
- 3 回答
- 0 关注
- 198 浏览
添加回答
举报
