سؤال

لدي Dataview التي تحتوي على قائمة من الجداول. أقرأ في قائمة القيم التي أرغب بعد ذلك في تطبيقها كمرشح على Dataview هذه. قائمة القيم هي في الواقع في شكل "Table1 ، Table2 ، Table3". لذلك اعتقدت أنني سأكون قادرًا على استخدام هذا كمرشح على Dataview الخاص بي.

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

إرجاع قائمة بجميع الجداول في Dataview. أي مساعدة حول كيفية تصفية مقابلة Datav هذه؟

يحرر:
لست متأكدًا مما إذا كنت واضحًا تمامًا فيما أسعى إلى تحقيقه. للتوضيح ، أحاول معرفة كيف/إذا .RowFilter سوف تساعدني في تصفية مقابلة Dataview هذه. شيء مثل:

dv.RowFilter = "name IN (table1, table2, table3)"    // I know this doesn't work
هل كانت مفيدة؟

المحلول 2

لقد اكتشفت .RowFilter القضية:

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

نصائح أخرى

عليك أن تستخدم مثل البيان

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

وكذلك استخدام مجموعة المعلمات

طريقة أكثر كفاءة لإضافة المعلمات إلى SQLCommand .NET

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top