C#学习笔记---C#操作SQL数据库
C#操作SQL数据库
Connection(连接)对象
- 连接字符串: 形式1.”server=;uid=;pwd=;database=”
形式2.”server=;Intergrated Security=true/SSPI”
- 创建连接对象: SqlConnection con=new SqlConnection(连接字符串)
- 打开数据库连接:con.Open()
- 关闭数据库连接:con.Close()
- 查看连接状态:con.state =ConnectionState.Open/Closed
Command(命令)对象
- 创建命令对象:形式1. SqlCommand cmd=new SqlCommand()
形式2.new SqlCommand(Sql语句, 连接对象)//省略2,5
- 指定连接对象:cmd.Connection=连接对象
- 设置命令类型:cmd.CommandType=CommandType.Text/ StoredProcedure
- 连接数据库: cmd.Connection.Open()
- 设置Sql语句:cmd.CommandText=”select语句”/”非select语句”/”存储过程名”
- 执行sql语句:形式1.执行非select语句,返回受影响的行数:cmd.ExecuteNonQuery()
形式2.执行select语句(count,sum,…),返回第一行第一列的值:cmd.ExecuteScalar()
形式3.执行select语句,返回一个DataReader对象:cmd.ExecuteReader()
DataReader对象
- 创建DataReader对象:SqlDataReader sqldr= cmd. ExecuteReader ()
- 判断是否有数据:sqldr.HasRows=true/false
- 读取(下)一行记录:sqldr.Read()
- 获取数据: sqldr [“列名”]
- 关闭DataReader对象:sqldr.Close()
Parameters(Command参数集)
当命令类型为存储过程:cmd.CommandType= StoredProcedure
- 创建对象:形式1.SqlParameters parms=new SqlParameters()
形式2. new SqlParameters(参数名称, 参数类型, 类型值)//省略2,3,4
- 设置参数名称: parms. ParameterName=”@存储过程里的参数1”
- 设置参数类型: parms .SqlDbType= SqlDbType.参数1数据类型
- 设置类型值:parms.Size=int
- 为参数赋值:parms.Value=对应类型的值
- 添加参数:cmd.Parameters.Add(parms)
- 执行语句: cmd.ExecuteNonQuery()
- 获取参数值: cmd.Parameters[“@参数名”]
- 多个SqlParameters可以用SqlParameter [] parms={new SqlParameter(),… }
DataSet(小型数据库)对象//无需连接,执行
DataTable(数据表)对象:包含在DataSet里
- 创建DataAdapter对象:形式1. DataAdapter da=new DataAdapter()
形式2. new DataAdapter(Sql语句, 连接对象)//省略2
- 通过SelectCommand创建SqlCommand 命令:ada.SelectCommand=new SqlCommand()
- 通过SelectCommand使用SqlCommand 的方法,属性:ada.SelectCommand.CommandType
- 创建DataSet对象: DataSet ds=new DataSet()
- 创建DataTable对象: DataTable=new DataTable()
- 用da填充ds/dt:形式1.da.Fill(ds)
形式2. da.Fill(ds,” 数据表名”)
形式3. da.Fill(dt)
DataGridView控件的使用
1.创建对象: DataGridView dgv=new DataGridView()
1.指定数据源为DataTable: dgv.DataSource=ds.Table[n]/dt
C#学习笔记---C#操作SQL数据库的更多相关文章
- python学习笔记之——操作mysql数据库
Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口. Python 数据库接口支持非常多的数据库,你可以选择适合你项目的数据库: ...
- golang学习笔记16 beego orm 数据库操作
golang学习笔记16 beego orm 数据库操作 beego ORM 是一个强大的 Go 语言 ORM 框架.她的灵感主要来自 Django ORM 和 SQLAlchemy. 目前该框架仍处 ...
- SQL反模式学习笔记18 减少SQL查询数据,避免使用一条SQL语句解决复杂问题
目标:减少SQL查询数据,避免使用一条SQL语句解决复杂问题 反模式:视图使用一步操作,单个SQL语句解决复杂问题 使用一个查询来获得所有结果的最常见后果就是产生了一个笛卡尔积.导致查询性能降低. 如 ...
- MyBatis:学习笔记(4)——动态SQL
MyBatis:学习笔记(4)——动态SQL 如果使用JDBC或者其他框架,很多时候需要你根据需求手动拼装SQL语句,这是一件非常麻烦的事情.MyBatis提供了对SQL语句动态的组装能力,而且他只有 ...
- MongoDB学习笔记:Python 操作MongoDB
MongoDB学习笔记:Python 操作MongoDB Pymongo 安装 安装pymongopip install pymongoPyMongo是驱动程序,使python程序能够使用Mong ...
- MyBatis:学习笔记(4)——动态SQL
MyBatis:学习笔记(4)——动态SQL
- Javascript学习笔记二——操作DOM
Javascript学习笔记 DOM操作: 一.GetElementById() ID在HTML是唯一的,getElementById()可以定位唯一的一个DOM节点 二.querySelector( ...
- Android学习笔记(十七)——数据库操作(下)
//此系列博文是<第一行Android代码>的学习笔记,如有错漏,欢迎指正! 这一次我们来试一试升级数据库,并进行数据库的CRUD操作,其中, C 代表添加(Create) ,R 代表查询 ...
- SQL server2005学习笔记(一)数据库的基本知识、基本操作(分离、脱机、收缩、备份、还原、附加)和基本语法
在软件测试中,数据库是必备知识,假期闲里偷忙,整理了一点学习笔记,共同探讨. 阅读目录 基本知识 数据库发展史 数据库名词 SQL组成 基本操作 登录数据库操作 数据库远程连接操作 数据库分离操作 数 ...
随机推荐
- python批量启动多线程
还未了解多线程的请查看博文 python3多线程趣味详解 python3多线程趣味详解 只是介绍了 python 多线程的使用,对于批量启动线程来说有些不适用,于是出现如下方法: 建立一个线程池,并将 ...
- nginx替换响应头(重点:如何在替换时加上if判断)
在实现微信小程序内嵌非业务域名时,通过nginx做镜像网站绕过小程序业务域名检测,但有一些表单页面提交后会返回一个302状态,由响应头Location的值决定提交成功后的跳转地址.那么问题来了,这个地 ...
- Hystrix是如何工作的
接上一篇:<Hystrix介绍> 流程图 下面这幅图相当重要 稍微解释一下上面的流程: Construct a HystrixCommand or HystrixObservableCom ...
- 使用mpvue开发小程序教程(五)
在上一章节中,我们了解了组件的三个基本特性以及组件的基本使用方法.在实际的小程序开发中,我们应该以组件的思维去设计每个小程序的功能页面,对其进行合理的组件拆分,让每个部分都保持功能简洁.条理清楚.各司 ...
- Chapter 4 Invitations——27
"Myself, obviously." He enunciated every syllable, as if he were talking to someone mental ...
- 痞子衡嵌入式:飞思卡尔i.MX RT系列MCU启动那些事(1)- Boot简介
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔i.MX RT系列MCU的BootROM功能简介. 截止目前为止i.MX RT系列已公布的芯片有三款i.MXRT105x, i. ...
- Spring Cloud Alibaba基础教程:Nacos配置的多环境管理
前情回顾: <Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现> <Spring Cloud Alibaba基础教程:支持的几种服务消费方式> ...
- 【AutoFac】依赖注入和控制反转的使用
在开始之前首先解释一下我认为的依赖注入和控制反转的意思.(新手理解,哪里说得不正确还请指正和见谅) 控制反转:我们向IOC容器发出获取一个对象实例的一个请求,IOC容器便把这个对象实例“注入”到我们的 ...
- Java开发笔记(五十五)关键字static的用法
前面介绍嵌套类的时候讲到了关键字static,用static修饰类,该类就变成了嵌套类.从嵌套类的用法可知,其它地方访问嵌套类之时,无需动态创建外层类的实例,直接创建嵌套类的实例就行.其实static ...
- 结合JDK源码看设计模式——建造者模式
概念: 将一个复杂对象的构建与它的表示分离.使得同样构建过程可以创建不同表示适用场景: 一个对象有很多属性的情况下 想把复杂的对象创建和使用分离 优点: 封装性好,扩展性好 详解: 工厂模式注重把这个 ...