数据库应用程序的开发流程一般主要分为以下几个步骤:

  1. 创建数据库
  2. 使用Connection对象连接数据库
  3. 使用Command对象对数据源执行SQL命令并返回数据源的数据
  4. 使用DataReader和DataSet对象读取和处理数据源的数据

使用Connection对象成功创建数据库连接后,接下来就可以使用Command对象对数据源执行查询、添加、删除和修改等各种SQL命令了。

SqlCommand对象用来对SQL Server数据库执行操作命令
属性 说明
CommandText 获取或设置要执行的SQL语句或存储过程
Connection 获取或设置Command对象所要连接的Connection对象
CommandTimeout 获取或设置命令等待执行的超时时间,默认值为30秒
Parameters 获取与该命令关联的参数集合
CommandType 获取或设置命令的种类,默认值为Text
SqlCommand对象的主要方法
方法 说明
Cancel 结束执行SQL语句
Dispose 关闭Command对象,并释放所占用的系统资源
ExecuteScalar 用于执行查询语句,并返回单一值或者结果集中的第一条记录的第一个字段的值。该方法适合只要一个结果的查询,例如使用Sum、Avg、Max、Min等函数的SQL语句
ExecuteNonQuery 用于执行SQL语句,并返回SQL语句所影响的行数。该方法一般用于执行insert、delete、update等语句
ExecuteReader 用于执行查询语句,并返回一个DataReader类型的行集合

1. ExecuteNonQuery方法,执行更新操作,如与 insert、delete 和 update 语句有关的操作

SqlConnection con = new SqlConnection();
con.ConnectionString ="连接字符串";
SqlCommand com = new SqlCommand();
com.Connection = con;
com.CommandText = "数据更新命令";
con.Open();
com.ExecuteNonQuery();  //执行Command命令
con.Close();

2. ExecuteReader方法,通常与查询命令 select 一起使用,并返回一个数据读取器对象 SqlDataReader 类的一个实例。

SqlConnection con = new SqlConnection();
con.ConnectionString = "连接字符串";
SqlCommand com = new SqlCommand();
com.Connection = con;
com.CommandText = "查询语句";
con.Open();
SqlDataReader sdr = com.ExecuteReader();
while(sdr.Read()){Response.Write(sdr[0]);  //输出第一个字段的内容
}
con.Close();

3. ExecuteScalar方法,如果只想检索数据库信息中的一个值,而不需要返回表或数据流形式的数据,即可使用此方法。例如只需要返回count(*)、avg(价格)、sum(数量)等函数的结果就可以使用此方法。

SqlConnection con = new SqlConnection();
con.ConnectionString = "连接字符串";
SqlCommand com = new SqlCommand();
com.Connection = con;
com.CommandText = "select avg(价格) from 你的表";
con.Open();
Response.Write(com.ExecuteScalar());  //输出第一个字段的内容
con.Close();

【例】使用SqlComman对象增加数据库数据,将注册信息插入数据库中

protected void btnRegister_Click(object sender, EventArgs e){SqlConnection con = new SqlConnection();con.ConnectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\ASUS\Desktop\案例\EBookShop\App_Data\ShopBookDB.mdf;Integrated Security=True;User Instance=True";SqlCommand com = new SqlCommand();com.Connection = con;com.CommandText = string.Format("insert into users(user_name,password,sex,age,email,createDate) values('{0}','{1}','{2}','{3}','{4}','{5}')",txtName.Text.Trim(),txtPwd.Text.Trim(),rbFemale.Checked?"男":"女",txtAge.Text.Trim(),txtEmail.Text.Trim(),DateTime.Now.ToShortDateString());con.Open();com.ExecuteNonQuery();try {Response.Write("<script>alert('注册成功')</script>");con.Close();}catch(Exception){Response.Write("<script>alert('数据库无法连接')</script>");con.Close();}}来自大神博客:https://www.cnblogs.com/yankyblogs/p/6870138.html

执行数据库操作命令对象SqlCommand相关推荐

  1. ASP.NET 2.0中执行数据库操作命令之二

    SqlDataReader类 可以用SqlDataReader类对象从SQL Server数据库中读取行:用OleDbDataReader类对象从支持OLE DB的数据库中读行,如Oracle与Acc ...

  2. SQL语言之创建数据库其他对象(视图)

    创建数据库其他对象(视图) 一.视图(view) 可以通过创建表的视图来表现数据的逻辑子集或数据的组合.视图是基于表或另一个视图的逻辑表,一个视图并不包含他自己的数据,他像一个窗口,通过该窗口可以查看 ...

  3. oracle 根据值不同具有不同的搜索条件_在Navicat Premium中执行数据库范围内的搜索...

    如果您曾经尝试在大型数据库中定位特定列,那么我相信您会同意这可能是一项艰巨的任务.您可以从information_schema模式中收集有关DB结构的许多信息.它具有所有表和表中所有字段的列表.然后, ...

  4. 执行execute时对象名 retime_record 无效_MyBatis 的执行流程怎么可以讲的这么透彻

    前言 MyBatis可能很多人都一直在用,但是MyBatis的SQL执行流程可能并不是所有人都清楚了,那么既然进来了,通读本文你将收获如下: 1.Mapper接口和映射文件是如何进行绑定的 2.MyB ...

  5. 简述oracle的主要数据库对象,Oracle数据库数据对象分析

    Oracle数据库数据对象分析 Oracle数据库数据对象中最基本的是表和视图,其他还有约束.序列.函数.存储过程.包.触发器等.对数据库的操作可以基本归结为对数据对象的操作,理解和掌握Oracle数 ...

  6. 带你认识数据库视图对象,下次不要再认成“表”了

    摘要:本文介绍GaussDB(DWS)的数据库视图对象,我们将讨论使用数据库视图的优点和缺点,以及如何使用系统视图解决一些问题. 本文分享自华为云社区<GaussDB(DWS) SQL进阶之数据 ...

  7. mercurial使用_使用Mercurial在SQL数据库中对象更改的修订历史记录

    mercurial使用 Since we have presented a way to review the history of committed changes using Git, Team ...

  8. subversion使用_使用Subversion在SQL数据库中对象更改的修订历史记录

    subversion使用 In previous articles, I have already covered the revision history for Git and Team Foun ...

  9. 转载--SQL还原数据库后孤立用户问题处理(SQL 数据库 拥有对象 无法删除)

    SQL还原数据库后孤立用户问题处理(SQL 数据库 拥有对象 无法删除) 所谓孤立帐户,就是某个数据库的帐户只有用户名而没有登录名,这样的用户在用户库的sysusers系统表中存在,而在master数 ...

最新文章

  1. RandomUnderSampler 中的fit_resample 是 imblearn.base.py中调用output = self._fit_resample(X, y)
  2. linux chown命令 改变文件拥有者
  3. Android init.rc文件解析过程详解(三)
  4. Android AIDL的实现
  5. dell r740如何做raid_戴尔入门级4K、IPS广色域显示器:S2721QS表现如何?
  6. 网络爬虫--25.【selenium实战】实现拉勾网爬虫之--selenium获取数据
  7. jsp中java代码if_jsp中jstl标签的类似 if - else 语句 的语法
  8. 北京二环内详细矢量地图(MapInfo格式)
  9. 【基于物理的渲染(PBR)白皮书】(一) 开篇:PBR核心知识体系总结与概览
  10. 可以写在简历上的22个轻松上手的Java经典项目教程(含源码and笔记)
  11. php关闭notice_屏蔽PHP默认设置中的Notice警告的方法
  12. als算法参数_协调过滤算法之ALS
  13. 什么是视频编码 编解码技术及压缩技术
  14. 双路服务器5100芯片组,华硕推AMD双路12核平台服务器主板
  15. application配置文件读取!
  16. Hibernate 马士兵 学习笔记
  17. python随机密码生成以整数17为随机数种子_python习题 随机密码生成 + 连续质数计算...
  18. 解决curl/wget: (7) Failed to connect to github.com port 443: Connection refused无法解析主机或请求拒绝问题
  19. SSM 框架整合-1
  20. 医院信息系统时要注意事项

热门文章

  1. 使用 Cobra 构建命令行工具
  2. Go-cli框架Cobra
  3. 拥有荣耀手环4Running版,让你专业跑步科学健身!
  4. mciSendCommand 返回错误代码277 的解决方案
  5. 天宝MN18 amd4800h mini主机 到手测试
  6. jit 调试失败,出现以下错误:拒绝访问。jit调试由用户帐户NT AUTHORITY\NETWORK SERVICE 启动...
  7. 重读《程序员修炼之道:通向务实的最高境界(第2版)》的一些重要感悟
  8. 01_iTween_第一天--小球抛物线
  9. python tkinter button 透明图片_Tkinter-按钮图像透明背景
  10. Ubuntu之apt-get系列--安装ssh--方法/教程