2

我有一个包含表列表的数据视图。我正在阅读一个值列表,然后我想将其作为过滤器应用于此数据视图。值列表实际上是“table1,table2,table3”的形式。所以我想我可以将它用作我的数据视图的过滤器。

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

返回数据视图中所有表的列表。有关如何过滤此数据视图的任何帮助?

编辑:
不确定我是否完全清楚我想要完成的事情。为了澄清,我试图弄清楚如何/如果.RowFilter将帮助我过滤这个数据视图。就像是:

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

2 回答 2

1

你必须使用like语句

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

以及使用参数集合

向 SqlCommand .NET 添加参数的更有效方法

于 2010-05-25T14:39:59.713 回答
1

我发现了这个.RowFilter问题:

dv.RowFilter = "name IN ('table1', 'table2', 'table3')    // missing the single quote surrounding table names
于 2010-05-25T15:29:36.980 回答