2012-02-02 68 views
-4

在我的计划,我实现了一个简单的数据库搜索,它接受一个字符串(姓名或名称的一部分),并返回相应的详细信息:在Visual C#.NET数据库搜索

string nameSearch = textBox1.Text; 
DataRow[] resultRows; 

resultRows = ds1.Tables["Lecturers"].Select("Name='" + nameSearch + "'"); 

但我是没有得到预期的结果,除非我正确输入完整名称。当我只输入部分名称时,如何修改'Select()'以获得结果?

回答

1

您可以尝试使用RowFilter如下面的例子:

ds1.Tables["Lecturers"].DefaultView.RowFilter = "[Name] LIKE '"+ nameSearch +"'"; 
DataTable dtOutput = ds1.Tables["Lecturers"].DefaultView.ToTable(); 
+0

你不需要“太需要”,这只是一种替代方法 – gbn 2012-02-03 08:32:26

+0

@gbn:更新了我的答案:) – Akhil 2012-02-03 17:34:18

0

使用名称LIKE“%+ namesearch +'%

0

试试这个?:

resultRows = ds1.Tables["Lecturers"].Select("Name like '%" + nameSearch + "%'"); 

我假设这不是'生产'代码。在这里看起来像一个大sql injection