【编者按】:网学网ASP.net为您提供ACCESS数据库访问组件(三) 参考,解决您在ACCESS数据库访问组件(三) 学习中工作中的难题,参考学习。
ACCESS数据库访问组件(三) |
作者:ytycoffe 发布时间:2006-11-23 |
using System; using System.Data; using System.Data.OleDb; using System.Collections; namespace XLang.VideoOnline.Framework.Database.Access { /// <summary> /// Summary description for ACCESS_DataTablesCollection. /// </summary> public class DataTablesCollection { private Database.Access.DataTable[] _tables; private int _count; public int Count { get { return _count; } } public DataTablesCollection(OleDbConnection connection) { System.Data.DataTable schemaTable = connection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] {null, null, null, "TABLE"}); _count=schemaTable.Rows.Count+1; _tables=new Database.Access.DataTable[_count]; for(int i=0;i<_count-1;i++) { _tables[i]=new Database.Access.DataTable(schemaTable.Rows[i][2].ToString()); } _tables[_count-1]=new Database.Access.DataTable("temp"); } public Database.Access.DataTable this [int tableIndex] { get { return _tables[tableIndex]; //return this[tableIndex]; } set { _tables[tableIndex]=value; //this[tableIndex]=value; } } public Database.Access.DataTable this [string tableName] { get { return this [NameToIndex(tableName)]; //return this[tableName]; } set { this [NameToIndex(tableName)]=value; //this[tableName]=value; } } private int NameToIndex(string tableName) { for(int i=0;i<_tables.Length;i++) { if(_tables[i].Name.ToUpper()==tableName.ToUpper()) return i; } return -1; } } } |