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 性能比较好。

  • 相关阅读:
    [leetcode] 17. 电话号码的字母组合
    C++17 Fold Expressions
    多线程----NSOperation
    CGD---1--开辟并发新线程
    彻底解决_OBJC_CLASS_$_某文件名", referenced from:问题(转)
    ios 内存使用陷阱 和imageNamed 、imageWithContentsOfFile:(转)
    (转)unbalanced calls to begin/end appearance transitions for uiviewcontroller的解决方法
    ios开发种证书
    使用CAShapeLayer与UIBezierPath画出想要的图形
    定位子字符串的位置
  • 原文地址:https://www.cnblogs.com/Allofus/p/15033965.html
Copyright © 2011-2022 走看看