خلق ADO.NET DataView تظهر أعمدة محددة فقط
-
05-07-2019 - |
سؤال
في C # و. NET، يمكن للمرء أن إنشاء DataView
لا يتضمن سوى مجموعة <م> السليم م> فرعية من DataColumn
s من DataTable
معين؟
في مجال الجبر العلائقي، واحد يعين RowFilter
من أجل إجراء "اختيار" عملية (σ). كيف يمكن لأحد أن إجراء "الإسقاط" عملية (π)؟
المحلول
وأنت لا تستطيع أن تفعل ذلك، ولكن يمكنك إنشاء نسخة من الجدول مع الأعمدة فقط تريد:
DataView view = new DataView(table);
DataTable table2 = view.ToTable("FirstColumn", "SecondColumn", "ThirdColumn");
واختياريا يمكنك العودة الصفوف التي تحتوي على قيم مميزة للأعمدة المختارة:
DataView view = new DataView(table);
DataTable table2 = view.ToTable(true, "FirstColumn", "SecondColumn", "ThirdColumn");
نصائح أخرى
وكذلك أنا لا أرى أي سبب "الرغبة" للقيام بذلك ... تذكر، وDataView هو مجرد قائمة من المؤشرات إلى الصفوف في الجدول الأصلي، وليس هناك من الواضح أي وسيلة لإزالة الأعمدة من الجدول الأصلي ... على الأقل ليس دون أن يؤثر كل وظيفة أخرى باستخدام هذا الجدول ... فقط فقط استخدام الأعمدة التي تريد ...
وإنشاء dataview كما مبادلة من جدول واحد إلى جدول آخر، واستخدام dtswap كما مصدر البيانات.
DataView dw = new DataView(dtfee);
DataTable dtswap = new DataTable();
dtswap = dw.ToTable(true,"Fees", "FeeAmount", "Year", "CollectorName", "Month");
وDataSet
وأنواع المرتبطة بها ليس لديهم القدرة على تنفيذ عمليات العلائقية.