gpt4 book ai didi

c# - 查询包含文本的数据表

转载 作者:太空狗 更新时间:2023-10-30 00:10:20 25 4
gpt4 key购买 nike

基于这个问题:how to run query on dataset?

我正在尝试从我的数据集中查询一个数据表,其中文本包含一个字符串,类似于 String.Contains 方法或 sql LIKE 运算符。

这是我到目前为止尝试过的:

    private void textBox1_TextChanged(object sender, EventArgs e)
{
DataTable tbl = globals.UserDataSet.Tables[0];
DataRow[] tempDataRows = tbl.Select("USER_ID Like " + textBox1.Text + " OR THE_NAME Like " + textBox1.Text);
}

这会产生 System.Data.SyntaxError 错误。

是否可以在数据表中查询包含子字符串的文本?有更好的方法吗?

最佳答案

一些事情:

  • 首先您需要用单引号将您的值括起来。 (链接中有 question )
  • 其次,如果您尝试比较 Contains,那么您的值应该有 % (就像 SQL)

所以你的声明应该是:

DataRow[] tempDataRows = tbl.Select("USER_ID Like '%" + textBox1.Text + "%' OR THE_NAME Like '%" + textBox1.Text +"%');

您还可以使用 LINQ to DataSet/DataTable过滤您的结果,例如:

var query = tbl.AsEnumerable()
.Where(r => r.Field<string>("USER_ID").Contains(textBox1.Text) &&
r.Field<string>("THE_NAME").Contains(textBox1.Text));

关于c# - 查询包含文本的数据表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27553016/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com