using System; using System.Data; using System.Data.OleDb; using System.Collections;
namespace XLang.VideoOnline.Framework.Database.Access { /// <summary> /// Summary description for ACCESS_DataViewsCollection. /// </summary> public class DataViewsCollection { private Database.Access.DataView[] _views;
private int _count;
public int Count { get { return _count; } }
public DataViewsCollection(OleDbConnection connection) { System.Data.DataTable schemaTable = connection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] {null, null,null, "VIEW"});
_count=schemaTable.Rows.Count; _views=new Database.Access.DataView[_count];
for(int i=0;i<_count;i++) { _views[i]=new Database.Access.DataView(schemaTable.Rows[i][2].ToString()); } }
public Database.Access.DataView this [int tableIndex] { get { return _views[tableIndex]; } set { _views[tableIndex]=value; } }
public Database.Access.DataView this [string viewName] { get { return this [NameToIndex(viewName)]; } set { this [NameToIndex(viewName)]=value; } }
private int NameToIndex(string viewName) { for(int i=0;i<_views.Length;i++) { if(_views[i].Name.ToUpper()==viewName.ToUpper()) return i; } return -1; }
} }

|