【问题标题】:How to seach in C# sql database by LIKE如何通过 LIKE 在 C# sql 数据库中搜索
【发布时间】:2015-07-05 17:42:25
【问题描述】:

我有一个表,我想在表中搜索。

SELECT tbPhonebook.*
FROM tbPhonebook    
WHERE Fname LIKE @fanem

tbPhonebookTableAdaptor,并使用这个:

private void search_Click(object sender, EventArgs e)
{
     tbPhonebookTableAdapter.search(this.test4Dataset.tbPhonebook, textBox1.Text);
}

它工作正常,但是当有人搜索一个单词时,将显示包含该搜索表达式的所有单词。

例如数据库中有这些名字:

ali , alireza , soheil , soheilyou , .... 

在当前搜索中,如果用户搜索ali,程序只会显示ali,而alireza 还包含ali 搜索条件!

在 php 中我可以使用这个:

SELECT *
FROM tbPhonebook    
WHERE Fname LIKE "%$fanem%"

但我不知道 C# 中的语法

【问题讨论】:

  • 我不确定你在问什么,但在 C# 中你可以使用 String.Contains() 方法

标签: c# sql-server search


【解决方案1】:

我认为你应该学习 c# 语法才能成为更好的 c# 开发人员。

我使用这个 SQL 命令,它对我有用。它在文本框上输入的任何字符上搜索我的数据库的 textchang 事件。

sql = "SELECT * FROM Studentreg WHERE RegNo like '%" + txtquick.Text + "%' or StudentName LIKE '%" + txtquick.Text + "%'";

【讨论】:

  • 小心小鲍比桌!
【解决方案2】:

抛开安全问题不谈,您可以在查询中使用串联字符串,例如:

"SELECT tbPhonebook.* FROM tbPhonebook WHERE Fname LIKE '%"+textBox1.Text+"%'"

您可以在此处找到更安全的方法来避免 SQL 注入的示例:SQL Parameters

【讨论】:

  • 我找到了,我想写答案,看到你做到了;) tnx anway
  • 如果你接受这个答案,你会让我非常高兴! :-)
  • 确定我的朋友 ;) 你可以为问题评分
  • 请使用sql参数避免sql注入攻击
  • 所以请不要提交存在已知安全问题的答案。显示正确的方式。
猜你喜欢
  • 2015-09-12
  • 2011-03-09
  • 1970-01-01
  • 2011-07-08
  • 2022-01-19
  • 1970-01-01
  • 2020-10-19
  • 1970-01-01
  • 2010-12-28
相关资源
最近更新 更多