2013-10-28 30 views
0

我有一个表单,用户键入一个名称,并根据该名称选择所有内容,理想情况下,我希望能够拥有它,以便从数据库如果键入的名字的一半,或只是一个性格让大家谁第一个名字是戴维等选择字符串是否类似于数据库中的字段

try 
{ 
    this.access_PermissionTableAdapter.FillBy(
     this.vehicleManagementDataSet.Access_Permission, 
     this.userNameToolStripTextBox.Text); 
} 
catch (System.Exception ex) 
{ 
    System.Windows.Forms.MessageBox.Show(ex.Message); 
} 

这将选择当名字的拼写字母字母但如果是局部类型的各个领域。我一直在看C#提供的方法,如contains和starswith,但都不合适。

有没有一种方法可以选择名称与输入的内容类似?

+0

你想要[LIKE](http://www.tutorialspoint.com/sql/sql- like-clause.htm)条款,我不能真正回答你的问题,因为你不说你需要什么类型的搜索,即开始,结尾等。 – James

+0

@詹姆斯是啊我知道我必须在SQL中只是不在C#中对我来说是一种新语言。我认为startswith将是最好的方法,但我不知道该方法如何工作 – Crouch

+0

我以为你是从C#访问存储过程。你在寻找像Linq这样的实体吗?您在当前显示的代码几乎没有用处... – James

回答

1

试试这个:

SELECT * FROM tbl_yourtable t WHERE t.columnname LIKE '%' + @searchstring + '%' 
+0

花了我一段时间了解我如何更改tableAdapter以适应我的需求,因此延迟响应。我是新来的C#你看到和即时编辑某人elses代码。欢呼声 – Crouch

1

试试这个:

SELECT * 
    FROM TABLE1 
    WHERE COL1 LIKE '%TYPED NAME%' 
+0

这将证明对某人有用,但来自P5Coder的答案让我得到了我需要的东西,但是这指出了我朝着正确的方向为你的帮助而欢呼 – Crouch

2

如果你有一个强类型数据集,您可以创建自己的自定义查询(在你的情况,我会打电话查询StartingWith,其中的SQL代码由另外两个响应给出,并且它将生成一个名为FillByStartingWith的方法)。有关如何执行此操作的说明,请参阅http://msdn.microsoft.com/en-us/library/kda44dwy(v=vs.80).aspx

+1

你的帮助和P5Coder答案的混合让我在那里最后欢呼伙计 – Crouch

0

如果您想在c#字符串上使用SQLLIKE运算符,请使用Contains方法。如果你想达到的Amirreza Keshavarz的结果或不使用一个数据库,然后使用LINQ对象P5Coder答案,并包含方法

List<string> myStringList = new List<string>(); 
//fill the list 

例如你有一个字符串列表。

IEnumerable<string> result = myStringList.Where(ms => ms.Contains("typed string")); 

如果你想,只是与输入字符串开始字符串,然后用这个:

IEnumerable<string> result = myStringList.Where(ms => ms.StartsWith("typed string")); 
+0

干杯的帮助,我需要使用数据库做它,但它总是我可以参考回来,如果我曾经需要它 – Crouch

+0

然后为什么不只是使用LIKE运算符(就像其他人说的那样)? – jannagy02

+0

我在做,我是C#的新手,我已经被赋予了一些代码来改善我知道的逻辑,它只是习惯C#如何工作以及视觉工作室如何工作 – Crouch

相关问题