2010-05-25 2 views
2

У меня есть dataview, который содержит список таблиц. Я читаю список значений, которые затем я хочу применить в качестве фильтра для этого dataview. Список значений фактически находится в виде «table1, table2, table3». Поэтому я подумал, что смогу использовать это как фильтр в своем dataview.Как фильтровать dataview

SqlOp.CommandText = "select name from dbo.sysobjects where xtype='u'"; 
SqlOp.ExecuteDataReader(); 
DataView dv = SqlOp.GetDataAsDataView(); 
SqlOp.CloseConnection(); 

Возвращает список всех таблиц в dataview. Любая помощь в том, как отфильтровать этот файл данных?

Edit:
Не уверен, что если бы я был совершенно ясно, что я стремлюсь достичь. Чтобы уточнить, я пытаюсь выяснить, как/если .RowFilter поможет мне в фильтрации этого документа. Что-то вроде:

dv.RowFilter = "name IN (table1, table2, table3)" // I know this doesn't work 

ответ

1

Я понял, .RowFilter вопроса:

dv.RowFilter = "name IN ('table1', 'table2', 'table3') // missing the single quote surrounding table names 
1

Вы должны использовать как заявление

"select name from dbo.sysobjects where xtype like 'u%'" 

Как использовать параметры сбора

More Efficient Way of Adding Parameters to a SqlCommand .NET

+0

Я не совсем уверен, как коллекция Parameters призвана помочь мне в этой ситуации. Тем не менее, я пытаюсь выяснить, как использовать dataview 'RowFilter'. – IAbstract

+0

Я сделал внесение изменений в 'like 'u%'' – IAbstract

+0

Набор параметров поможет SQL Injection http://stackoverflow.com/questions/512174/non-web-sql-injection – volody