• C#操作数据库(二)【操作SQL Server数据库的常用的类介绍】


    ******************************************     SqlCommand类     ********************************************

    创建SqlCommand对象:
    SqlCommand cmd = new SqlCommand(SQLCMD, CON);
    SQLCMD为SQL命令语句,CON为打开的数据库连接(即打开的SqlConnection类对象)。创建SqlCommand 类对象之前应打开SqlConnection连接。

    常用的三个方法:

    1、ExecuteNonQuery() 执行命令但不返回任何结果集(唯一返回语句执行所影响的行数),如果调用   有输出参数的存储过程则返回值。(一般用于 Insert Updata Delete等不需要返回结果集的SQL语句)
    2、ExecuteReader() 执行命令,返回一个类型化的IDataReader(即返回SQL语句执行后生成的结果集)。一般用于Select等返回结果集的SQL语句。
    3、ExcuteScalar() 执行命令返回一个值(执行查询,并返回查询所返回的结果集中第一行的第一列。忽略其他列或行。)


    SqlCommand常用的属性:
    1、CommandText 设置要对执行的 SQL 语句、表名或存储过程名。默认值为空字符串。(如果CommandType 属性为 StoredProcedure 或TableDirect 时CommandText中表名或存储过程名如果包含特殊字符则用转义符语法设置)。
    2、CommandType 设置如何解释CommandText 值(即设置CommandText所代表的含义)。有三个选项(StoredProcedure 存储过程名,TableDirect表名,Text SQL文本命令),默认为Text。
    3、CommandTimeout 获取或设置等待命令执行的时间(以秒为单位)。默认为 30 秒。(0 表示无限制,会无限期地等待执行命令)。(当对上下文连接(要用连接字符串中的“context    connection=true”打开的 SqlConnection)执行命令时,CommandTimeout 将不起作用)。
    4、Parameters 设置SQL语句或存储过程的参数。(如果参数与赋的值不匹配则会报错)

    ******************************************    SqlDataAdapter类     ********************************************

    SqlDataAdapter 是DataSet 和更新数据库的一组数据命令和一个数据库连接的填充器。提供 DataSet 和 SQL Server 之间的桥接,用于检索和保存数据。

    构造函数:
    (1)SqlDataAdapter ()
    (2)SqlDataAdapter (SqlCommand) :用指定的 SqlCommand 作为 SelectCommand的属性。
    (3)SqlDataAdapter (String, SqlConnection) :使用 SelectCommand 和 SqlConnection 对象初始化 SqlDataAdapter 类的新实例。
    (4)SqlDataAdapter (String, String) :用 SelectCommand 和一个连接字符串初始化 SqlDataAdapter 类的新实例。
    常用方法:
    Fill:             填充 DataSet 或 DataTable。
    FillSchema:         将 DataTable 添加到 DataSet 中,并配置架构以匹配数据源中的架构。
    GetFillParameters:    获取当执行 SQL SELECT 语句时由用户设置的参数。
    GetType:        获取当前实例的 Type。
    Update:        为 DataSet 中每个已插入、已更新或已删除的行调用相应的 INSERT、UPDATE 或 DELETE 语句。
    Dispose:         释放由 Component 占用的资源。

    SqlDataAdapter 的部分属性:
    AcceptChangesDuringUpdate:        在 Update 期间是否调用 AcceptChanges。
    ContinueUpdateOnError:            在行更新过程中遇到错误时是否生成异常。
    DeleteCommand:                获取或设置一个 Transact-SQL 语句或存储过程,以从数据集删除记录。
    InsertCommand:                获取或设置一个 Transact-SQL 语句或存储过程,以在数据源中插入新记录。
    MissingMappingAction:            确定传入数据没有匹配的表或列时需要执行的操作。
    MissingSchemaAction:            确定现有 DataSet 架构与传入数据不匹配时需要执行的操作。
    SelectCommand:                获取或设置一个 Transact-SQL 语句或存储过程,用于在数据源中选择记录。
    TableMappings:                获取一个集合,它提供源表和 DataTable 之间的主映射。
    UpdateBatchSize:            获取或设置每次到服务器的往返过程中处理的行数。
    UpdateCommand:                获取或设置一个 Transact-SQL 语句或存储过程,用于更新数据源中的记录。

    使用SqlDataAdapter 的注意点:
    (1)使用SqlDataAdapter对象的时候不需要打开Connection连接,在使用SqlDataAdapter的Fill()方法填充数据时会自动打开数据库连接,并在执行完之后自动关闭连接。如果Connection连接在调用Fill()方法之前打开,则执行填充之后不会关闭连接而是保持现有状态。
    (2)如果在一个Connection连接在调用多个Fill()方法,则在调用Fill()方法之前打开Connection连接以提高效率。
    (3)SqlDataAdapter和DataSet之间没有直接连接。SqlDataAdapter的Fill()方法填充完数据之后两者之间就没有连接了。
    (4)SqlDataAdapter 填充 DataSet 时,如果必须的表和列不存在则会自动创建。默认的返回架构中不包括主键(MissingSchemaAction 属性设置为AddWithKey时会创建主键)。
    (5)SqlDataAdapter可以使用FillSchema()方法填充DataSet时SqlDataAdapter 会创建 DataSet 的架构,并在填充数据之前就将主键信息包括进去。
    (6)当创建 SqlDataAdapter 的实例时,读/写属性将被设置为初始值。
    (7)SqlDataAdapter 与 SqlConnection 和 SqlCommand 一起使用,以便在连接到 SQL Server 数据库时提高性能。

    ******************************************    SqlDataReader类     ********************************************
    得到共有多少列              FieldCount属性
    得到第i列的列名             string GetName(int i)
    得到第i列的数据类型       Type GetFieldType(int i)
    判断第i列是否为空          bool IsDBNull(int i)
    得到第i列的数据           Object GetValue(int i)也可以直接sr[i].ToString()
    前进到下一列              bool Read()
    关闭                      void Close()

    对于每个关联的 SqlConnection,一次只能打开一个 SqlDataReader,在第一个关闭之前,打开另一个的任何尝试都将失败。类似地,在使用 SqlDataReader 时,关联的 SqlConnection 正忙于为它提供服务,直到调用 Close()时为止。


  • 相关阅读:
    Bootstrip的相关介绍
    Django的ORM主外键约束实现
    Django基于ORM数据库配置
    Django的安装与配置
    ORM(关系对象映射)框架之面向对象
    pymysql模块的数据操作
    SQL语句实践
    mysql 数据库的基本操作语法
    算法训练 矩阵乘法
    算法训练 字串统计
  • 原文地址:https://www.cnblogs.com/dog12345/p/3599905.html
Copyright © 2020-2023  润新知