【发布时间】:2018-01-26 09:41:35
【问题描述】:
我想用我的textBox 搜索我的datagridViewn。我现在已经完成了,但只是在数据库中使用了“名称”。我需要相同的文本框来搜索“name”或“DataCad”(datacad 是 DateTime 类型)或“city”。我的桌子上有所有这些字段。
如果用户键入“John”,所有具有此名称的用户都会显示在网格上。 (已经使用该名称)。如果用户提示“12/08/2017”,它将显示当天的所有数据。与“城市”相同。
这可能吗?这是我使用名称的代码:
if (!string.IsNullOrEmpty(txtSearch.Text))
{
pacientesBindingSource.Filter = string.Format("Nome LIKE '*{0}*'", txtSearch.Text);
}
【问题讨论】:
-
我不熟悉这种方法,但似乎将
Nome LIKE '*{0}*'更改为Nome LIKE '*{0}*' OR City LIKE '*{0}*'应该可行。 DateTime 有点棘手,因为您正在将字符串与 DateTime 进行比较 - 答案取决于您的所有 DateTime 的时间是否为 00:00:00.000 等,但请尝试使用 OR 将所有字段链接在一起 -
我无法关闭这个浏览器窗口而不警告你一个叫做 SQL 注入 的小东西。请在继续使用您的代码之前检查此链接:https://stackoverflow.com/questions/35163361/how-can-i-add-user-supplied-input-to-an-sql-statement
-
谢谢你的朋友。去看看这个,
-
string.Format("Nome LIKE '{0}' OR DataCad = '{1}' OR City LIKE '{ 2}'", txtSearch.Text, txtSearch.Text, txtSearch.Text);我觉得这就是?你可以试试
标签: c# search datagridview