ADO.Net 之 SQL Helper

前几天学习了ADO.NET 感觉最核心的东西就是SQL Helper了 这也是面试的时候ADO.NET部分必考的一项 下面我将我的总结笔记全部写出来
有不对的地方还请您指出 万分感谢!!!


什么是SQL Helper
他是将连接数据库等一大推繁琐的操作封装成了一个类库 在每次对数据库操作时 只需要调用类库 将对应的sql语句和要操作的对象传进去即可 大大节省了时间 也节省程序员的精力

一个简单的SQL Helper

1.添加连接字符串配置文件
 a.为什么要添加字符串配置文件
  我们在连接数据库时 要首先获得数据库的名字 数据库的名字要写在数据库连接字符串中 如果用户在使用时换了一个数据库 你再让用户
  装一个vs2010 在vs2010中修改一下数据库才能使用 那这就是天方夜谭 这个时候 就要用到配置文件了 (.config文件)
  
 b.在程序中创建一个.config文件
  在项目中右键 ‘添加’->‘添加新建项’->'应用程序配置文件' 
  在配置文件中填写如下代码
   <connectionStrings>
    <add name="sql" connectionString="server=.\sqlexpress;database=Stu_text1000;integrated security=true"/>
   </connectionStrings>
   代码解释:  sql 是在程序中调用连接字符串的名字 ; Stu_text1000 是数据库名字
   
 c.在每次调用dll的时候 我们无需项目 只要更改配置文件中的数据库名字就可以了 (就像修改txt文件一样简单)
  具体的调用方法会在下面的程序中介绍到


2. 在主程序中编写一下代码(最好是写成一个类库 dll文件 创建dll文件只要在创建项目的时候选择‘类库’即可)
static void Main(string[] args)
        {
            // MySqlHelp.str_com 是 MySqlHelp 类中的静态字段 使用配置文件的方式 将数据库字符串 传给 str_com
   
   // 利用配置文件 读取数据库连接字符串
            MySqlHelp.str_com = ConfigurationManager.ConnectionStrings["sql"].ConnectionString;


            Console.WriteLine("请输入要删除的名字");
            try
            {
                string name = Console.ReadLine();
                // 开始调用类库 返回操作成功的条数
                int count =MySqlHelp.Delete(name);
                Console.WriteLine(count);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }

            Console.ReadKey();
        }
3. 新建一个 MySqlHelper 类库 (创建SQL Helper)
 static class MySqlHelp // 这里将类写成 static 是为了省去 new 的麻烦
    {
        public static string str_com; // 存放数据库字符串

        public static int Helper(string sqlCmd) // 连接字符串 sqlCmd是在调用时 传进来的 sql语句
        {
            if (str_com==null)
            {
                throw new Exception("没有连接字符串");
            }

            int count = -1;

            using (SqlConnection conn = new SqlConnection(str_com))
            {
                using (SqlCommand cmd=new SqlCommand(sqlCmd,conn))
                {
                    if (conn.State==System.Data.ConnectionState.Closed)
                    {
                        conn.Open();
                    }

                    count = cmd.ExecuteNonQuery();
                }
            }
            return count;
        }

        public static int Delete(string name) // 删除操作
        {
            string sql = string.Format("delete from T_NewStus where Fname='{0}'", name);
           
            return Helper(sql); // 调用连接数据库 将 sql 语句传进去 返回操作成功的语句条数
        }

4.在程序中怎样使用SQL Helper
 a. 将SQL Helper写成一个MySQLHelper类库(.dll)
 b. 将类库放去程序的Debug目录下
 c. 在程序的解决方案资源管理器窗口中右键点击‘引入’->‘添加引用’->‘浏览’ 将刚才的dll引用到程序中
 d. 调用方法    dll的命名空间名.类名.方法名(参数列表)


 

(作者注释:由于我的笔记是.doc格式的 所有的标题都有超链接以及标题颜色 如果直接复制过来的话会有格式不支持的情况 为了统一 我在全部转换成了txt  所以会没有颜色 希望大家见谅)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值