天气渐冷,闲来无事就把业余时间自己使用的数据访问库凉一凉.这个库本人自己使用了2年多,主要用于个人学习时需要操作数据库时使用,非组织和商业性质的使用.记得上学的时候,在网络上看到SqlServerHelper操作ADO.NET甚方便,一下子就着了迷不管学习还是工作都会带上这个Class,甚至我的U盘里面也会存上这个Class,哈哈.随着工作经验和沿街的开阔,我渐渐的有了自己的ADO.NET操作习惯以及封装使用方式.因此就写了Basic.Data.dll,言归正传.
1.Database:主要用于存储数据连接字符串,配置节名称,ADO.NET数据基础工厂,Database由IDatabaseProvide接口提供.
2.DatabaseConnection:用于数据库连接,和数据库连接状态等提供者,主要由IDatabaseConnectionProvide接口提供.
3.DatabaseCommandText,DatabaseCommandProcedure:用于执行Command和Procedure操作.分别由IDatabaseCommandTextAsyncProvide,IDatabaseCommandProcedure接口提供.
4.DatabaseCommandTextAsync,DatabaseCommandProcedureAsync:用于异步执行Command和Procedure操作.分别由IDatabaseCommandTextAsyncProvide和IDatabaseCommandProcedureAsyncProvide接口提供.
5.DatabaseOperation:是过程执行SQL操作的封装.这个会提供代码演示.
6.OperationValue:所有Command操作返回的结果,存储在该类的Value属性上.
*******************************************************************************************************************************
Database:
1 public class Database : IDatabaseProvide 2 { 3 /// <summary> 4 /// 内置默认识别Config Key:DatabaseProvide和DatabaseProvideConnectionString 5 /// </summary> 6 public Database() 7 { 8 this.DatabaseProvideName = ConfigurationManager.AppSettings["DatabaseProvide"]; 9 this.ConnectionString = ConfigurationManager.AppSettings["DatabaseProvideConnectionString"]; 10 this.Initialization(); 11 } 12 13 public Database(string argument_ProvideName) 14 { 15 this.DatabaseProvideName = argument_ProvideName; 16 this.ConnectionString = ConfigurationManager.AppSettings["DatabaseProvideConnectionString"]; 17 this.Initialization(); 18 } 19 20 public Database(string argument_ProvideName, string argument_ConnectionString) 21 { 22 this.DatabaseProvideName = argument_ProvideName; 23 this.ConnectionString = argument_ConnectionString; 24 this.Initialization(); 25 } 26 27 public string DatabaseProvideName { get; set; } 28 internal string ConnectionString { get; set; } 29 internal DbProviderFactory Factory { get; set; } 30 31 public void Initialization() 32 { 33 this.Factory = DbProviderFactories.GetFactory(this.DatabaseProvideName); 34 } 35 }