C#操作SQL数据库

Connection(连接)对象

  1. 连接字符串: 形式1.”server=;uid=;pwd=;database=”

         形式2.”server=;Intergrated Security=true/SSPI”

  1. 创建连接对象: SqlConnection con=new SqlConnection(连接字符串)
  2. 打开数据库连接:con.Open()
  3. 关闭数据库连接:con.Close()
  4. 查看连接状态:con.state =ConnectionState.Open/Closed

Command(命令)对象

  1. 创建命令对象:形式1. SqlCommand cmd=new SqlCommand()

          形式2.new SqlCommand(Sql语句, 连接对象)//省略2,5

  1. 指定连接对象:cmd.Connection=连接对象
  2. 设置命令类型:cmd.CommandType=CommandType.Text/ StoredProcedure
  3. 连接数据库: cmd.Connection.Open()
  4. 设置Sql语句:cmd.CommandText=”select语句”/”非select语句”/”存储过程名”
  5. 执行sql语句:形式1.执行非select语句,返回受影响的行数:cmd.ExecuteNonQuery()

         形式2.执行select语句(count,sum,…),返回第一行第一列的值:cmd.ExecuteScalar()

         形式3.执行select语句,返回一个DataReader对象:cmd.ExecuteReader()

DataReader对象

  1. 创建DataReader对象:SqlDataReader sqldr= cmd. ExecuteReader ()
  2. 判断是否有数据:sqldr.HasRows=true/false
  3. 读取(下)一行记录:sqldr.Read()
  4. 获取数据: sqldr [“列名”]
  5. 关闭DataReader对象:sqldr.Close()

Parameters(Command参数集)

  当命令类型为存储过程:cmd.CommandType= StoredProcedure

  1. 创建对象:形式1.SqlParameters parms=new SqlParameters()

        形式2. new SqlParameters(参数名称, 参数类型, 类型值)//省略2,3,4

  1. 设置参数名称: parms. ParameterName=”@存储过程里的参数1”
  2. 设置参数类型: parms .SqlDbType= SqlDbType.参数1数据类型
  3. 设置类型值:parms.Size=int
  4. 为参数赋值:parms.Value=对应类型的值
  5. 添加参数:cmd.Parameters.Add(parms)
  6. 执行语句: cmd.ExecuteNonQuery()
  7. 获取参数值: cmd.Parameters[“@参数名”]
  8. 多个SqlParameters可以用SqlParameter [] parms={new SqlParameter(),… }

DataSet(小型数据库)对象//无需连接,执行

DataTable(数据表)对象:包含在DataSet里

  1. 创建DataAdapter对象:形式1. DataAdapter da=new DataAdapter()

               形式2. new DataAdapter(Sql语句, 连接对象)//省略2

  1. 通过SelectCommand创建SqlCommand 命令:ada.SelectCommand=new SqlCommand()
  2. 通过SelectCommand使用SqlCommand 的方法,属性:ada.SelectCommand.CommandType
  3. 创建DataSet对象: DataSet ds=new DataSet()
  4. 创建DataTable对象: DataTable=new DataTable()
  5. 用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数据库的更多相关文章

  1. python学习笔记之——操作mysql数据库

    Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口. Python 数据库接口支持非常多的数据库,你可以选择适合你项目的数据库: ...

  2. golang学习笔记16 beego orm 数据库操作

    golang学习笔记16 beego orm 数据库操作 beego ORM 是一个强大的 Go 语言 ORM 框架.她的灵感主要来自 Django ORM 和 SQLAlchemy. 目前该框架仍处 ...

  3. SQL反模式学习笔记18 减少SQL查询数据,避免使用一条SQL语句解决复杂问题

    目标:减少SQL查询数据,避免使用一条SQL语句解决复杂问题 反模式:视图使用一步操作,单个SQL语句解决复杂问题 使用一个查询来获得所有结果的最常见后果就是产生了一个笛卡尔积.导致查询性能降低. 如 ...

  4. MyBatis:学习笔记(4)——动态SQL

    MyBatis:学习笔记(4)——动态SQL 如果使用JDBC或者其他框架,很多时候需要你根据需求手动拼装SQL语句,这是一件非常麻烦的事情.MyBatis提供了对SQL语句动态的组装能力,而且他只有 ...

  5. MongoDB学习笔记:Python 操作MongoDB

    MongoDB学习笔记:Python 操作MongoDB   Pymongo 安装 安装pymongopip install pymongoPyMongo是驱动程序,使python程序能够使用Mong ...

  6. MyBatis:学习笔记(4)——动态SQL

    MyBatis:学习笔记(4)——动态SQL

  7. Javascript学习笔记二——操作DOM

    Javascript学习笔记 DOM操作: 一.GetElementById() ID在HTML是唯一的,getElementById()可以定位唯一的一个DOM节点 二.querySelector( ...

  8. Android学习笔记(十七)——数据库操作(下)

    //此系列博文是<第一行Android代码>的学习笔记,如有错漏,欢迎指正! 这一次我们来试一试升级数据库,并进行数据库的CRUD操作,其中, C 代表添加(Create) ,R 代表查询 ...

  9. SQL server2005学习笔记(一)数据库的基本知识、基本操作(分离、脱机、收缩、备份、还原、附加)和基本语法

    在软件测试中,数据库是必备知识,假期闲里偷忙,整理了一点学习笔记,共同探讨. 阅读目录 基本知识 数据库发展史 数据库名词 SQL组成 基本操作 登录数据库操作 数据库远程连接操作 数据库分离操作 数 ...

随机推荐

  1. Hystrix概念设计

    1. Hystrix概念设计 1.1. 大纲 1.2. 基本的容错模式 1.3. 断路器模式 1.4. 舱壁隔离模式 1.5. 容错理念 凡事依赖都可能失败 凡事资源都有限制 网络并不可靠 延迟是应用 ...

  2. 4.Git基础-查看提交历史

    1.查看提交历史 --  git log  使用 git log 可以查看到所有的提交(commit)历史. 1. $ git log 列出所有commit,最新的commit在最上面.会显示每个提交 ...

  3. Docker 下载镜像

    文章首发个人网站: https://www.exception.site/docker/docker-pull-image 本文中,我们将需要学习 Docker 如何下载镜像? 一.前言 大家都知道, ...

  4. 从.Net到Java学习第二篇——IDEA and start spring boot

    从.Net到Java学习第一篇——开篇 所谓工欲善其事,必先利其器,做java开发也一样,在比较了目前最流行的几个java IDE(eclipse,myeclipse.IDEA)之后,我果断选择IDE ...

  5. C#版 - Leetcode 215. Kth Largest Element in an Array-题解

    版权声明: 本文为博主Bravo Yeung(知乎UserName同名)的原创文章,欲转载请先私信获博主允许,转载时请附上网址 http://blog.csdn.net/lzuacm. C#版 - L ...

  6. Chorme浏览器渲染MathJax时出现竖线的解决方法

    Chorme浏览器渲染MathJax时出现竖线的原因分析与解决方法 查资料知,Chorme中显示MathJax时出现竖线的原因如下: 新版的Chorme浏览器在解析css时,会对其中的值进行向上取整( ...

  7. 玩转C线性表和单向链表之Linux双向链表优化

    前言: 这次介绍基本数据结构的线性表和链表,并用C语言进行编写:建议最开始学数据结构时,用C语言:像栈和队列都可以用这两种数据结构来实现. 一.线性表基本介绍 1 概念: 线性表也就是关系户中最简单的 ...

  8. Magicodes.WeiChat——V3.0(多租户)版本发布

    主要内容如下: 添加项目Magicodes.WeiChat.Data.Multitenant,全面支持多租户(基于EF已经ASP.NET Identity) 增加租户管理.租户成员管理.修改密码.公众 ...

  9. Spring Boot 2.x(九):遇到跨域不再慌

    什么是跨域 首先,我们需要了解一下一个URL是怎么组成的: // 协议 + 域名(子域名 + 主域名) + 端口号 + 资源地址 http: + // + www.baidu.com + :8080/ ...

  10. 痞子衡嵌入式:常用的数据差错控制技术(1)- 重复校验(Repetition Code)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是嵌入式里数据差错控制技术-重复校验. 在嵌入式应用里,除了最核心的数据处理外,我们还会经常和数据传输打交道.数据传输需要硬件传输接口的支持 ...