在数据表的所有列中搜索字符串

本文关键字:搜索 字符串 数据表 | 更新日期: 2023-09-27 18:20:46

如果字符串存在于数据表中,我想搜索它并返回行。例如,我有一个包含"用户名"、"用户密码"等字段的数据表,。。。。等等。现在我的搜索文本将搜索所有字段,并返回包含字符串的行。

有人能帮忙吗
我在谷歌上搜索了一下。
我找到了两个解决方案,一个是

Select("Code LIKE '" + lastWord + "%'" );  

但在这里,我与"代码"混淆了。

问候

在数据表的所有列中搜索字符串

尝试如下:

try
{
  SqlCommand cmd=new SqlCommand("select * from tableName where UserName LIKE '%' + @search + '%'", conn);
  cmd.Parameters.AddWithValue("@search",searchbox.text);
  SqlDataAdapter da=new SqlDataAdapter(cmd,con);
  DataSet ds=new Dataset();
  da.Fill(ds);
  //From here you can extract data in DataSet   
}
catch(exception ex)
{
}

可以尝试SqlMethods。

执行类似SqlMethods.Like(str,"%searchbox.text%"); 的操作

也可以参考这个答案。

你需要这样的东西吗http://vyaskn.tripod.com/search_all_columns_in_all_tables.htm来自Narayana Vyas。我以前用过它,它很管用。它搜索给定数据库中所有表的所有列。

如果没有,这个怎么样

DataRow[] filteredRows =   datatable.Select(string.Format("{0} LIKE '%{1}%'", columnName, value));

OR检查在所有DataTable列中查找字符串


其中一个解决方案是类似于这个

for(int i=0;i<MyDataset.Tables[0].Columns.count;i++)
{
DataRow[] MyDR=MyDataset.Tables[0].Select(MyDataSet.Tables[0].Columns[i].ToString()+"='"+MyText+"'");
   if(MyDr.Length>0)
   {
   //You Found the item
   }
}

希望这能帮助