当前位置: 代码迷 >> 综合 >> 多态和接口(6)——回首ADO.Net
  详细解决方案

多态和接口(6)——回首ADO.Net

热度:20   发布时间:2023-10-01 19:42:21.0

1、SqlCommand cmd = new SqlCommand()

SqlCommand cmd = conn.CreateCommand()

IDbCommand cmd = conn.CreateCommand()

第三种写法最好。SQLServer、Access(文件型数据库,连接字符串用VS“服务器资源管理器”生成)的Command分别是SqlCommand、OleDbCommand类型,如果把它们写死在程序里切换数据库需要改很多地方。 SqlCommand、 OleDbCommand都实现了IDbCommand接口,不用具体的类型来接收返回值,这样就可以将改动减少的最小。 因为SqlConnection实现了IDbConnection接口。如果基于接口进行编程,换数据库只要把SqlConnection换成OracleConnection,起码IDbConnection、IDbCommand等都不用变了。

 

2、以后写程序尽量用IDbConnection、 IDbCommand、IDataParameter这些类型。

3、创建参数用IDataParameter parameter = cmd.CreateParameter()

4、能用父类就不要用子类,能用接口就不要用类

5、写一个可以通过配置文件来分别从Access、MSSQL中读取数据的类。

new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\db1.mdb")

  相关解决方案