окно поиска с базой данных - PullRequest
0 голосов
/ 10 июня 2011

Я использую форму C # .net Windows, и мне нужно создать текстовое поле поиска, которое будет отображать значения поля со списком (аналогично поиску в Google);Значения, отображаемые в поле со списком, будут значениями из базы данных SQL 2005 (например, пользователь ищет в FirstName, в поле со списком будут отображаться все имена, которые фильтруются по мере ввода пользователем большего количества букв .... если пользователь ищетLastName, поле со списком отображает все значения LastName в базе данных ... и т. Д.)

Есть идеи, как решить эту задачу?

Ответы [ 2 ]

1 голос
/ 10 июня 2011

Это решение из Интернета, которое делает то, что вы хотите, но отрицательно влияет на загрузку всего с самого начала вместо выполнения небольших запросов.

List<string> namesCollection = new List<string>();
SqlConnection conn = new SqlConnection();
conn.ConnectionString = 'Connexion String or From File'
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = "Select distinct [Name] from [Names] order by [Name] asc";
conn.Open();
SqlDataReader dReader = cmd.ExecuteReader();
if (dReader.HasRows == true)
{
   while (dReader.Read())
   namesCollection.Add(dReader["Name"].ToString());
}
dReader.Close();

txtName.AutoCompleteMode = AutoCompleteMode.Suggest;
txtName.AutoCompleteSource = AutoCompleteSource.CustomSource;
txtName.AutoCompleteCustomSource = namesCollection;
0 голосов
/ 10 июня 2011

Вы должны установить для свойства AutoCompleteSource значение CustomSource, а затем для свойства AutoCompleteCustomSource указать набор строк из вашей базы данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...