C#合理建立数据库连接的多种方式

               关于建立数据库连接的多种方案

  1. 从配置文件中读取数据库信息
/*
             * 方式1:从配置文件中读取数据库连接信息
             *        1.添加System.Configuration引用,导入using System.Configuration;
             *        2.取出ConfigurationManager.ConnectionStrings["sqlcon"].ConnectionString数据库连接字符串
             *        3.根据此配置字符串建立数据库连接connection
             *        4.后续数据库操作
             *        5.配置文件就是项目默认的app.config文件或自己新建的xxx.config文件。
             * */
            从配置文件中读取连接信息。
            //string connectionStr = ConfigurationManager.ConnectionStrings["sqlcon"].ConnectionString;
            建立连接connection
            //SqlConnection con = new SqlConnection(connectionStr);
            打开链接
            //con.Open();
            为此连接创建命令行
            //SqlCommand command = con.CreateCommand();
            //command.CommandText = "select userID from tblUserRole";
            使用dataReader读取数据库
            //SqlDataReader sdr = command.ExecuteReader();
            //while (sdr.Read())
            //{
            //    Console.WriteLine(sdr["userID"]);
            //}
            //sdr.Close();
            //con.Close();
            //Console.ReadLine();

            //配置文件添加方式
            //ConfigurationSettings.AppSettings方式实现数据库连接驱动和字符串
            //<appSettings>
            //<add key="DbHelperProvider" value="System.Data.SqlClient"/>
            //<add key="DbHelperConnectionString" value="Data Source=(local);Initial Catalog=DbHelperTest;Persist Security Info=True;User ID=sa;Password=sa"/>
            //我的数据库连接字符串信息是:server=.;uid=sa;pwd=123;database=zhangweiTest,这里数据库认证方式不会,所以不能确定个人认证方式。
            //appSettings>


            //在程序中引用的方式
            //private static string defaultProviderName = ConfigurationSettings.AppSettings["DbProviderName"];
            //private static string defaultConnectionString = ConfigurationManager.AppSettings["DbConnectionString"];

        /*ConfigurationManager.ConnectionStrings方式实现
         *完整App.config文件
         *<?xml version="1.0" encoding="utf-8" ?>
         * <configuration>
         * <startup>
         * <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
         * </startup>
         * <connectionStrings>
         * <add name="sqlcon" connectionString="server=.;uid=sa;pwd=123;database=zhangweiTest;" providerName="System.Data.SqlClient"/>
         * </connectionStrings>
         * </configuration>


         *//在程序中引用方式
         *//private static string defaultProviderName = ConfigurationManager.ConnectionStrings["sqlcon"].ProviderName;
         *// private static string defaultConnectionString = ConfigurationManager.ConnectionStrings["sqlcon"].ConnectionString;
         * */
  1. 硬编码方式
string connectionstr = "server=.;uid=sa;pwd=123;database=zhangweiTest";
            SqlConnection con = new SqlConnection(connectionstr);
            //打开链接
            con.Open();
            //为此连接创建命令行
            SqlCommand command = con.CreateCommand();
            command.CommandText = "select userID from tblUserRole";
            //使用dataReader读取数据库
            SqlDataReader sdr = command.ExecuteReader();
            while (sdr.Read())
            {
                Console.WriteLine(sdr["userID"]);
            }
            sdr.Close();
            con.Close();
            Console.ReadLine();

  1. 抽象工厂模式下的多种类型数据库匹配

工厂模式的目的:减少代码修改量,只需要使用工厂产生不同的类型的数据库实例,就可以达到访问数据库的目的。比如以上面的硬编码的例子:如果现在后台的数据库变为mysql,你是不是得重新修改硬编码的访问SqlConnection得变为MysqlConnection了吧。你的修改量是很大的。

而工厂模式就是不同修改程序,只需要添加新的数据库类型就可以达到复用的目的。

抽象工厂模式:篇幅太多,在下一篇中详细讲述!

 

 

转载于:https://my.oschina.net/u/2427465/blog/710036

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值