第二十七讲:ADO.NET实例浅析

1. ADO.NET概述
    1. 它是.NET编程环境中优先使用的数据访问接口
    2. ADO.NET传送的数据都XML格式的
    3. ADO.NET是一组用于和数据进行交互的面向对象的类库
    4. 数据源:通常是各种数据库,但文本文件、EXCEL表格和XML这类文件也可以读取
    5. ADO.NET为不同的数据源提供不同的支持类库,我们称之为Data Providers

2. 访问数据库的步骤
    1. 建立数据库连接
    2. 打开连接
    3. 存取数据
    4. 操作数据
    5. 关闭连接
    6. 清理资源
    
    C#访问数据库的步骤
        1. 必须导入包含适当的ADO.NET类的名称空间
        2. 获取具体的数据库连接字符串
        3. 实例化Connection对象,并建立、打开连接。
        4. 使用Command对象,从数据库存取器中读取数据或向数据存取中写入数据,或是执行SQL语句
        5. 关闭连接
        
3. 实践--商品管理


4. 数据库连接字符串
    //Windows身份验证方式登陆数据,这种方式必须确保你当前应用程序所在的计算机能够正确访问数据库
    Data Source=thc; Initial Catalog=OneDb; Integrated Security=True
    
    //Sql Server身份验证方式登陆,写法一
    Data Source=thc; Initial Catalog=OneDb; Persist Security Info=True; User ID=sa; Password=123
    
    //Sql server 身份验证方式登陆 写法二

    server=thc; database=OneDb; uid=sa; pwd=234


为此我自己创建一个数据库,库里建了一个表,表中插了几条数据,于是我就自己写了一个实例:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Data;

namespace Con27
{
    class Program
    {
        //SQL SERVER身份验证方式2
        static string connstr3 = "Data Source=127.0.0.1;Initial Catalog=OneDB;Persist Security Info=True;User ID=sa;Password=123123";
        //Windows身份验证方式
        static string connstr2 = "Data Source=127.0.0.1;Initial Catalog=OneDB;Integrated Security=true";
        //SQL SERVER身份验证的方式
        static string connstr = "server=127.0.0.1;database=OneDB;uid=sa;pwd=123123";
        static string sqlstr = "select * from People";
        static void Main(string[] args)
        {

            #region 数据访问模式1
            //SqlConnection conn = new SqlConnection(connstr3);//创建连接对象
            //SqlCommand cmd = new SqlCommand(sqlstr, conn);//创建命令对象
            //cmd.CommandType = CommandType.Text;//定义命令对象的类型
            //conn.Open();//打开连接

            //SqlDataReader sdr = cmd.ExecuteReader();//打开数据流
            //while (sdr.Read())
            //{
            //    Console.WriteLine("ID号是:{0},姓名:{1},性别:{2},年龄:{3}",sdr["id"].ToString(),sdr["name"],sdr["sex"],sdr["age"].ToString());
            //}

            //sdr.Close();
            //conn.Close(); 
            #endregion

            #region 数据访问模式2
            /*
                using语句,定义一个范围,在范围结束时处理对象。
                场景:
                当在某个代码段中使用了类的实例,而希望无论因为什么原因,只要离开了这个代码段就自动调用这个类实例的Dispose。
                要达到这样的目的,用try...catch来捕捉异常也是可以的,但用using也很方便。
                例如:
                using (Class1 cls1 = new Class1(), cls2 = new Class1())
               {
                 // the code using cls1, cls2
                } // call the Dispose on cls1 and cls2
                这里触发cls1和cls2的Dispose条件是到达using语句末尾或者中途引发了异常并且控制离开了语句块。
             */

            using (SqlConnection conn = new SqlConnection(connstr3))
            {
                SqlCommand cmd = new SqlCommand(sqlstr, conn);
                cmd.CommandType = CommandType.Text;
                conn.Open();

                SqlDataReader sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);//括号内的参数作用是,当关闭数据流时同时关闭连接对象。

                while (sdr.Read())
                {
                    Console.WriteLine("ID号是:{0},姓名:{1},性别:{2},年龄:{3}", sdr["id"].ToString(), sdr["name"], sdr["sex"], sdr["age"].ToString());
                }

                sdr.Close();

            } 
            #endregion

            Console.ReadKey();

        }


    }
}

结果:


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值