命令 (ADO.NET)
建立与数据源的连接后,可以使用 DbCommand 对象来执行命令并从数据源中返回结果。 您可以使用命令构造函数之一为要使用的 .NET Framework 数据提供程序创建命令。 构造函数可以采用可选参数,如要在数据源中执行的 SQL 语句、DbConnection 对象或 DbTransaction 对象。 您也可以将这些对象配置为命令的属性。
也可以使用 DbConnection 对象的 CreateCommand 方法创建用于特定连接的命令。 由命令执行的 SQL 语句可以使用 CommandText 属性进行配置。
执行命令 (ADO.NET)
包含在 .NET Framework 中的每个 .NET Framework 数据提供程序都拥有自己的继承自 DbCommand 的命令对象。 用于 OLE DB 的 .NET Framework 数据提供程序包括 OleDbCommand 对象,用于 SQL Server 的 .NET Framework 数据提供程序包括 SqlCommand 对象,用于 ODBC 的 .NET Framework 数据提供程序包括 OdbcCommand 对象,用于 Oracle 的 .NET Framework 数据提供程序包括 OracleCommand 对象。 其中每个对象都根据命令的类型和所需的返回值公开用于执行命令的方法,如下表所述。 。
命令 | 返回值 |
ExecuteReader | 返回一个 DataReader 对象 |
ExecuteScalar | 返回一个标量值 |
ExecuteNonQuery | 执行不返回任何行的命令 |
ExecuteXMLReader | 返回 XmlReader。 只用于 SqlCommand 对象 |
每个强类型命令对象还支持指定如何解释命令字符串的 CommandType 枚举,如下表所述。
CommandType | 说明 |
Text | 定义要在数据源处执行的语句的 SQL 命令 |
StoredProcedure | 存储过程的名称。 您可以使用某一命令的 Parameters 属性访问输入和输出参数,并返回值(无论调用哪种 Execute 方法)。 当使用 ExecuteReader 时,在关闭 DataReader 后才能访问返回值和输出参数。 |
TableDirect | 表的名称 |
2.1ADO.NET命令
2.1.1.Command对象:command对象继承于.NET Framework的IDbCommand类,该对象接口表示连接到数据源时执行的SQL语句。
Command对象是ADO.NET中的重要对象,它实现数据库操作,如查询、插入、修改和删除等。通常情况下可以通过
构造函数或者函数CreateCommand()创建对象Command,其中第一种为常用方式。
对象Command的属性CommandType提供三种执行命令类型:
(1)Text(文本)类型 用于执行SQL Server语句,由SQL语句构成数据库操作文本,Command对象可以把该文本直接传递给数据库,
不需要进行任何处理。
(2)Stored Procedure(存储过程)类型 用于调用并执行存储过程的命令,存储过程是一种特殊的数据库命令,可以把多个命令集中起来
一次提交给数据库,可以提供数据库的执行效率。
(3)TableDirect类型 一种特殊类型的Command命令,它从数据库返回一个完整的表,等价于Select *From TableName来调用Text类型的Command命令。
2.1.2使用Command命令对象执行SQL语句
1.ExecuteScalar()方法\函数 返回第一个结果集中第一行的第一列记录。
2.ExecuteReader()执行行的命令,返回一个DataReader对象。DataReader是一种只读的、向前的数据库记录流。
3.ExecuteNonQuery() 返回受命令影响记录的行数,它可以执行INSERT、DELETE、UPDATE、SET语句及Transact-SQL等命令。
2.2使用Command命令的Parameters方法获取数据
Command命令参数
1.SQL语句和存储过程可以有输入输出参数以及返回值
2.Command对象参数用来设置或者返回这些参数
3.SqlParameter OleDbParameter
4.Parameter对象的属性
(1)ParameterName命令参数的名称,例如:@Catld
(2)DbType 连接到数据库类型,例如:SqlType和OleDbType
(3)Direction表明参数的方向——输入、输出、输入/输出或返回
(4)Value指定参数的值
(5)Size指定参数大小
标签:Command,Framework,c#,命令,对象,SQL,command,net,NET From: https://blog.51cto.com/u_1040535/7635608