zoukankan      html  css  js  c++  java
  • 数据库操作的九大步骤

    一、数据库连接查询数据的步骤(查询单条数据)

    1.引用 命名空间        
        using System.Data.SqlClient;
    
    2.创建 连接字符串
        1)SQL Server身份登录验证
        string connString = @"Data Source=服务器名;Initial Catalog=数据库名;User ID=登录名;Pwd=密码";
        2)Windows身份登录验证
        string connString = @"Data Source=服务器名;Initial Catalog=数据库名;Integrated Security = True";
    
    3.利用 连接字符串 创建 连接对象
        SqlConnection conn = new SqlConnection(connString);
    
    4.创建 SQL命令
        string sqlText = "";
    
    5.利用 连接对象和SQL命令 创建 命令对象
        SqlCommand comm = new SqlCommand(sqlText, conn);
    
    6.打开 数据库连接
        conn.Open();
    
    7.执行 SQL命令, 使用合适的数据类型变量接收结果(int类型居多)
        object obj = comm.ExecuteScalar();
        //int result = (int)comm.ExecuteScalar();
    
    8.处理 结果
       ……
    9.关闭 数据库连接 conn.Close();

    二、数据库连接查询数据的步骤(查询多行多列)【连接式】

    1.引用 命名空间
        using System.Data.SqlClient;
    
    2.创建 连接字符串
        1)SQL Server身份登录验证
        string connString = @"Data Source=服务器名;Initial Catalog=数据库名;User ID=登录名;Pwd=密码";
        2)Windows身份登录验证
        string connString  = @"Data Source=服务器名;Initial Catalog=数据库名;Integrated Security = True";
    
    3.利用 连接字符串 创建 连接对象
        SqlConnection conn = new SqlConnection(connString);
    
    4.创建 SQL命令
        string sqlText = "";
    
    5.利用 连接对象和SQL命令 创建 执行对象
        SqlCommand comm = new SqlCommand(sqlText, conn);
    
    6.打开 数据库连接
        conn.Open();
    
    7.执行 SQL命令 创建DataReader对象接收执行的结果
        SqlDataReader reader = comm.ExecuteReader();
    
    8.处理 reader中的结果
        判断reader中是否有资料:reader.HasRows
        循环处理reader中的资料:reader.Read()
        获得数据:
            reader.GetValue(下标)
            reader[下标]
            reader[列名]
    
    9.关闭 DataReader 和 数据库连接
        reader.Close();
        conn.Close();

    三、数据库连接操作数据的步骤(增删改)

    1.引用命名空间        
        using System.Data.SqlClient;
    
    2.创建 连接字符串
        1)SQL Server身份登录验证
        string connString = @"Data Source=服务器名;Initial Catalog=数据库名;User ID=登录名;Pwd=密码";
        2)Windows身份登录验证
        string connString = @"Data Source=服务器名;Initial Catalog=数据库名;Integrated Security = True";
    
    3.利用 连接字符串 创建 连接对象
        SqlConnection conn = new SqlConnection(connString);
    
    4.创建 SQL命令
        string sqlText = "";
    
    5.利用 连接对象和SQL命令 创建 执行对象
        SqlCommand comm = new SqlCommand(sqlText, conn);
    
    6.打开 数据库连接
        conn.Open();
    
    7.执行 SQL命令并接收受影响的行数
        int result = comm.ExecuteNonQuery();
    
    8.处理 结果
        ……
    
    9.关闭 数据库连接
        conn.Close();

    四、使用 DataSet 连接数据库操作数据(多行多列)【断开式】

    1.引用 命名空间
        using System.Data;
        using System.Data.SqlClient;
    
    2.创建 连接字符串
        1)SQL Server身份登录验证
        string connString = @"Data Source=服务器名;Initial Catalog=数据库名;User ID=登录名;Pwd=密码";
        2)Windows身份登录验证
        string connString = @"Data Source=服务器名;Initial Catalog=数据库名;Integrated Security = True";
    
    3.创建 连接对象
        SqlConnection conn = new SqlConnection(connString);
    
    4.创建 SQL命令
        string sqlText = "";
    
    5.利用 连接对象和SQL命令 创建 数据适配器
        SqlDataAdapter da = new SqlDataAdapter(sqlText, conn);
    
    6.填充 数据集
        DataSet ds = new DataSet();
        da.Fill(ds,表名);
    
    7.处理 数据集(绑定)
       ……

    上述都是 ADO.NET 方式访问数据库,很原始,现在大多用一些 ORM 框架来访问数据库,如 Entity Framework、Linq to SQL、CYQ.Data 等。

    不管是那种 ORM 框架,最终会转换成 SQL 交给 ADO.NET 执行。

    个人认为 CYQ.Data 性能比较好。

  • 相关阅读:
    阿里云提示Discuz memcache+ssrf GETSHELL漏洞如何解决
    mysql总是无故退出, InnoDB: mmap(68681728 bytes) failed; errno 12
    ElasticSearch6 报错FORBIDDEN/12/index read-only / allow delete (api)
    Yum安装时提示多库版本保护 Multilib version problems found
    redis:CLUSTER cluster is down 解决方法
    虚拟主机如何绑定网站根目录到子目录中
    iscroll遇到的两个坑
    前端之Sass/Scss实战笔记
    JS与jquery书写插件规范
    css命名推荐
  • 原文地址:https://www.cnblogs.com/Allofus/p/15033965.html
Copyright © 2011-2022 走看看