2013-07-03 2 views
0

Я хочу найти строку, если она существует в таблице данных и возвращает строки. Например, у меня есть таблица данных с такими полями, как имя пользователя, пароль пользователя и т. Д. Теперь мой текст поиска будет искать все поля и возвращать мне строки, содержащие строку.Поиск строки во всех столбцах таблицы данных

Может кто-нибудь помочь в этом.
Я googled на нем.
я нашел пару решения, один был

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

Но здесь я путать с «Кодексом».

С уважением

+0

возможнодубликат [Поиск значения в DataGridView в столбце] (http://stackoverflow.com/questions/13173915/search-for-value-in-datagridview-in-a-column) –

+0

Вот точный вопрос и имеет хорошие ответ http://stackoverflow.com/questions/10661361/find-a-string-in-all-datatable-columns – BhargavaKatta

+0

«Код» - это название столбца. 'Select()', вероятно, применяет фильтр строк. [LIKE] (http://www.w3schools.com/sql/sql_like.asp) является SQL-оператором. – Sinatr

ответ

0

Try как следующее:

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%");

Можно также обратиться this ответ.

+0

Я не хочу указывать имя столбца. Он должен искать во всех столбцах. – user1418667

0

Нужна ли вам такая вещь http://vyaskn.tripod.com/search_all_columns_in_all_tables.htm от Narayana Vyas. Я использовал его раньше, и он работает. Он ищет все столбцы всех таблиц в данной базе данных.

Если нет, то как об этом

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

ИЛИ проверить Find a string in all DataTable columns


0

Одним из раствора будет что-то вроде этого

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 
    } 

} 

Надеется, что это помогает

Смежные вопросы