首页 > 编程语言 >c#.net command 命令详细分析(1)

c#.net command 命令详细分析(1)

时间:2023-09-28 10:36:16浏览次数:48  
标签:Command Framework c# 命令 对象 SQL command net NET


命令 (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

相关文章

  • Dubbo源码浅析(一)—RPC框架与Dubbo
    一、什么是RPC1.1RPC概念RPC,RemoteProcedureCall即远程过程调用,与之相对的是本地服务调用,即LPC(LocalProcedureCall)。本地服务调用比较常用,像我们应用内部程序(注意此处是程序而不是方法,程序包含方法)互相调用即为本地过程调用,而远程过程调用是指在本地调取远程过程进行......
  • C#正则表达式整理备忘
    有一段时间,正则表达式学习很火热很潮流,当时在CSDN一天就能看到好几个正则表达式的帖子,那段时间借助论坛以及WroxPress出版的《C#字符串和正则表达式参考手册》学习了一些基础的知识,同时也为我在CSDN大概赚了1000分,今天想起来,去找《C#字符串和正则表达式参考手册》时,已经不知所踪了......
  • 高质量持续集成:VectorCAST与Jenkins实战指南
    持续集成(ContinuousIntegration,简称CI)是一种软件开发/测试方法。它要求开发及测试人员频繁地将代码提交到用于共享的开发分支中,经过充分的测试和审查,然后通过自动化的构建和测试流程,对代码进行构建、单元测试、集成测试等步骤以确保代码的质量和可交付性。 早在2000年代初,就有......
  • 解读C#正则表达式
    多少年来,许多的编程语言和工具都包含对正则表达式的支持,.NET基础类库中包含有一个名字空间和一系列可以充分发挥规则表达式威力的类,而且它们也都与未来的Perl5中的规则表达式兼容。   此外,regexp类还能够完成一些其他的功能,例如从右至左的结合模式和表达式的编辑......
  • 尝试用ColabPro训练深度学习模型
    Colab中使用.ipynb文件,即我们平时使用的JupyterNotebook文件来完成相关代码的执行。如果要训练模型,需要将模型封装成可以经过ipynb文件执行的形式。在具体的运行时类型中,可以选择不同的运行时,其中包含了可选的GPU和CPU。GPU中有V100、A100、T4这几种可以选择,在选择相应的资源连......
  • .NET开发者常会忽略的几个错误
    在运用Visiolstudio.NET开发Web应用程式中,开发者常常会遇到一些问题:如我开发好的程式,在开发环境下测试没问题,怎么一搬到应用环境下,就会有问题?不是程式的无法运行,就是程式的效率慢的同蜗牛在爬,这种情况在.NET的新手中尤其常见。我不知道为什么,一些介绍.NET开发的书本里引用的......
  • 正确的使用margin:0 auto与body{text-align:center;}实现元素居中
    我们首先了解一下它们的基本概念:text-align是用于设置或对象中文本的对齐方式。一般情况下我们设置文本对齐方式的时候需要用此属性进行设置,如:ExampleSourceCodediv{text-align:left;}表示文本居左对齐。margin是设置对象四边的外延边距,被称为外补丁或外边......
  • Server.Transfer和Response.Redirect的区别
    Response.Redirect简单地发送一条消息到浏览器,告诉浏览器定位到另一个页面。你可以使用下面的代码将用户引导到另一个页面:Response.Redirect("WebForm2.aspx")或者Response.Redirect("http://www.cnnas.com/")Server.Transfer也是通过一条语句将用户引导到另一页面,比如:S......
  • springcloud gateway 获取响应体进行加密操作,byte[]转换String乱码
    记录一下困扰一星期的问题!在全局过滤器中,获取响应体进行加密操作,在拿到byte[]之后转成String,控制台打印出来是乱码,编码也加了UTF-8还是报错。publicMono<Void>filter(ServerWebExchangeexchange,GatewayFilterChainchain){ServerHttpResponseoriginalResponse=ex......
  • docker-compose部署rabbitmq
    docker-compose部署rabbitmqdocker-compose部署rabbitmq单机创建一个rabbitmq.yml的文件version:'3'services:rabbit:image:rabbitmq:3.8-managementhostname:rabbitcontainer_name:"rabbitmq3.8"restart:alwaysports:-......