C#asp.net使用%筛选数据表,就像sql server那样:columtext-like';%a%b%';
我使用%筛选数据表时遇到问题 使用SQL server查询搜索字符串时,我希望得到相同的结果:C#asp.net使用%筛选数据表,就像sql server那样:columtext-like';%a%b%';,c#,sql,asp.net,C#,Sql,Asp.net,我使用%筛选数据表时遇到问题 使用SQL server查询搜索字符串时,我希望得到相同的结果: select PatientName from table where patientname like '%d%k%' 结果: 香港迪士尼 约翰 驴子 如何使用Datatable筛选器获得相同的结果 我试过使用: tbl.Select("patientname like '%d%k%'", "PatientName DESC") 并得到一个错误 语法的工作原理如下: tbl.Select("pa
select PatientName
from table
where patientname like '%d%k%'
结果:
香港迪士尼
约翰
驴子
如何使用Datatable筛选器获得相同的结果
我试过使用:
tbl.Select("patientname like '%d%k%'", "PatientName DESC")
并得到一个错误
语法的工作原理如下:
tbl.Select("patientname like '%d k%'", "PatientName DESC")
但是它不会返回我想要的结果
有人能帮我吗
这是我的完整代码:
protected void cboProductMEIIT_ItemRequested(object o, RadComboBoxItemsRequestedEventArgs e)
{
RadComboBox cboProductMEIIT = (RadComboBox)o;
string sFindStr = e.Text.Trim();
string sFilter = " AreaID = '" + Sumber + "' And DescriptionTrim Like '%" + sFindStr + "%' ";
cboProductMEIIT.DataSource = ((DataTable)Session["dtbAbbrev_" + Sumber]).Select(sFilter, "SequenceNo DESC, Description Asc").Take(15);
cboProductMEIIT.DataBind();
}
我将会话设置为datatable,并希望筛选该datatable
关于
数据表。选择
无法执行此操作
在“通配符”标题下
在字符串的中间不允许使用通配符。例如,不允许使用“te*xt”
看起来您正在尝试使用LINQ。如果您正在显示代码行,请使用``标记 就像在LINQ中一样,它的工作原理与在SQL中有点不同。编写LINQ查询可以如下所示
var results = from c in db.tbl
where SqlMethods.Like(c.patientname, $"%{searchString}%")
select c;
如果需要订单的话
var results = from c in db.tbl
where SqlMethods.Like(c.patientname, $"%{searchString}%")
orderby c.patientname descending
select c;
试试这个
替换您的代码
string sFilter = " AreaID = '" + Sumber + "' And DescriptionTrim Like '%" + sFindStr + "%' ";
与
未解决,但帮助不大。您遇到了什么错误?Like运算符中的错误:字符串模式“%d%k%”无效。看起来在datatable.select中不支持通配符。它只支持开始和/或结束处的通配符,但不支持字符串内的通配符。是否有其他方法可以实现与sql查询相同的结果?这可能会有所帮助:是否有其他方法可以实现与sql查询相同的结果?我已经用代码编辑了我的帖子。我可以使用您提供的代码执行此操作吗?如果您试图执行类似的查询,则不能使用Select。我提供的代码允许您在数据库中搜索。
string sFilter = " AreaID = '" + Sumber + "' ";
if (sFindStr.IndexOf(" ") == -1) { sFilter = sFilter + " And DescriptionTrim Like '%" + sFindStr + "%' "; } else {
int iSpc = sFindStr.IndexOf(" ");
string sA = sFindStr.Substring(0, iSpc);
string sB = sFindStr.Substring(iSpc + 1, sFindStr.Length - (iSpc + 1));
sFilter = sFilter + " And DescriptionTrim Like '%" + sA + "%' And DescriptionTrim Like '%" + sB + "%' "; }