####ADO.NET
####1 启用sa验证与窗体相关知识
    - 启用sa验证
    - ShowDialog()
----
####2 连接字符串
    Data Source=服务器;Initial Catalog=数据库名字;`(Integrated Security=True;)`uid=用户名;pwd=密码

---
####3 ADO.NET 增加(Create)、读取(Read)、更新(Update)和删除(Delete)
- SqlConnection(connectionStrings)
- SqlCommand(sql,Sqlconnection)
    - ExecuteScalar() 返回第一行第一列
        - COUNT() 返回该字段的数量
        - SUM()某行的和
    - ExecuteReader()返回数据集
    - ExecuteNonQuery()返回受影响的行数---update、insert、delete
- 使用using(){}语句来替换try{}cantch(){}
- 参数化查询
    - cmd.Parameters.AddWithValue()参数
    - like中“%”的写法
- DBhelper编写
    - 添加引用System.Configuration
    - ConfigurationManager.ConnectionStrings[""].ConnectionString
- App.config 配置
    - connectionStrings
    - 节点:connectionString providerName
- SqlDataReader新建数据读取对象
    - Read()
    - HasRow-判读是否包含多行

---

####4 显示与操作数据库
- ListView控件
    - 1 首先先建立第一项 ListViewItem并且赋值第一行的值
    - 2 添加子项 SubItem
        - lvPhoneBook.SelectedItems[0].Index;//取当前选中项的index
        - lvPhoneBook.SelectedItems.Count//判断listview有被选中项
    - 3 View-Datils
    - 4 TAG :添加:dr["xx"];读取:listView1.SelectedItems[0].Tag
    - 5 对话框的结果:DialogResult 是枚举类型
- 数据绑定
    - 1 DataSet
        - 1 临时仓库
        - 2 使用DataAdapter作为搬运工
    - 2 DataAdapter
        - 1 步骤:先DataSet ds=new DataSet();
        - 2 再 SqlDataAdapter da=new SqlDataAdapter(sql,conn)
        - 3 然后 da.Fill(ds);
        - 4 读取记录ds.Table[0].Rows[i][j]
        - 5 遍历:for循环 集合的遍历
    - 3 DataGrivdView控件
        - 1 绑定数据 DataSource
        - 2 选择整行 SelectionMode=FullRowSelect
        - 3 取消默认选择行 xxx.SelectedRows[0].Selected=false
        - 4 当前选中的行的值(数据库中的id) CurrentRow.Cells[0].Value
        - 5 双击事件 CellDoubleClick
    - 4 ComboBox的数据绑定
        - 1 显示字段 DisplayMember
        - 2 值字段 ValueMember
        - 3 绑定数据源 DataSource
        - 4 当前选择项的值SelectedValue
    - 5 传值方式
        - 1 类的字段传值
        - 2 构造函数传值

---
####5 微软企业库
    - 1 dll引用
        - Microsoft.Practices.EnterpriseLibrary.Common.dll
        - Microsoft.Practices.EnterpriseLibrary.Data.dll
        - Microsoft.Practices.ServiceLocation.dll
        - Microsoft.Practices.Unity.dll
        - Microsoft.Practices.Unity.Interception.dll
    - 2 命名空间
        - using Microsoft.Practices.EnterpriseLibrary.Data;
        - using System.Data.Common;
    - 3 使用
        - 1 sql语句:db.GetSqlString(sql)
        - 2 存储过程 db.GetStoredProcCommand(sql)
    - 4 步骤
        - 1 新建连接:Database db=DatabaseFactory.CreateDatabase("ConnectionString")
        - 2 ExecuteNonQuery()
            - 1 新建 sql
            - 2 新建命令 dbCommand cmd=db.GetSqlStringCommand(sql)
            - 3 (可选)传参数: db.AddInParameter(cmd,"@xxx",dbType.Int32,xxx)
            - 4 返回db.ExecuteNonQuery(cmd)
        - 3 ExecuteScalar(cmd)
        - 4 ExecuteDataSet(cmd)
        - 5 ExecuteRader(cmd)
            - 特殊:using(IDataReader dr=db.ExecuteReader(cmd)){}
        - 6 Guid产生:System.Guid.NewGuid().ToString()

ADO.NET笔记20160322的更多相关文章

  1. ADO学习笔记之注入漏洞与参数化查询

    ADO学习笔记之注入漏洞与参数化查询 作为新手,在学习ADO程序时,使用 sql 语言查询数据时,很容易写类似如下代码: using (SqlConnection con = new SqlConne ...

  2. ADO.NET笔记——使用连接池

    相关知识: 连接池的意义: 应用程序往往涉及大量的,并发的数据访问操作 数据库服务器能够同时维系的连接数量非常有限.如果某个数据库访问操作不及时关闭连接,就会减少其他调用对数据库访问的机会.因此,一般 ...

  3. ADO.NET笔记——执行事务

    相关知识: 处于同一事务(Transaction)内的一组操作,要么都成功执行,最后完全提交:但如果只要有任何一个操作失败或者出问题,所有值钱执行的操作也都取消并恢复到初始状态(即回滚) SqlTra ...

  4. ADO.NET笔记——使用DataAdapter执行增删改操作

    相关知识: DataSet中的数据一旦从数据库下载下来,便不再与数据库保持联系.如果修改了DataSet中的数据,需要重新建立连接,并且通过SQL命令将修改更新到数据库去 编写SQL命令往往比较繁琐和 ...

  5. ADO.NET笔记——调用存储过程

    相关知识: 在ADO.NET访问SQL Server时,鼓励使用存储过程取代常规的SQL语句. 存储过程有下列优点: 存储过程中的SQL语句将会经过预先的解析和编译,然后存放在数据库服务器上行.调用的 ...

  6. ADO.NET笔记——基本概念

    ADO.NET中的主要对象: Connection:连接对象.用于建立从应用程序到数据库服务器指定数据库的连接通道 Command:命令对象.用于执行增删查改等数据库语句命令 DataReader:数 ...

  7. ADO.Net笔记整理(一)

    几次装机,Notes已烟消云散,近日因为Node.js死活搞不定,无奈装机,备份好的东东,没想到磁盘扇区出现异常,可能是PE启动盘的病毒,只好将磁盘全部重新分区,恢复数据也懒得恢复了,日积月累关乎将来 ...

  8. ADO.net笔记

    1.DbConnectionConnection对象也称为数据库连接对象,Connection对象的功能是负责对数据源的连接.所有Connection对象的基类都是DbConnection类.Conn ...

  9. ADO.NET笔记——使用通用数据访问

    相关知识: 前面所有示例,君是访问特定的数据库(SQL Server),因此注入SqlConnection.SqlCommand.SqlDataReader.SqlDataAdapter等类名都添加了 ...

随机推荐

  1. UIWebView使用时的问题,包含修改user agent

    1.①像普通controller那样实现跳转到webview的效果,而不是直接加到当前controller②隐藏webview的某些元素③webview跳往原生app④给webview添加进度条 解决 ...

  2. c#开发Mongo笔记第九篇

    用skip略过少量的文档还是不错的.但是要是数量非常多的话,skip就会变得很慢,因为要先找到需要被略过的数据,然后再抛弃这些数据.大多数数据库都会在索引中保存更多的元数据,用于处理skip, 但是m ...

  3. apktool更新,JDK升级配置

    最近使用apktool反编译apk中的xml文件总是失败. Exception in thread "main" brut.androlib.AndrolibException: ...

  4. 转-C#让枚举返回字符串

    下面的手段是使用给枚举项打标签的方式,来返回字符串 下面分别定义一个属性类,和一个枚举帮助类 [AttributeUsage(AttributeTargets.Field,AllowMultiple  ...

  5. MongoDB介绍与windows下安装

    MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.他支持的数据结构非常松散,是类 似json的bjson格式,因此可以存储比较复杂的数据类型. ...

  6. Java 第二章 变量

    第二章 变量 变量称为:是计算机语言中能储存计算机结果或能表示值抽象概念 .变量可以通过变量名访问 int money ; //变量 money=1000; //赋值 int money=1000: ...

  7. BZOJ3171 Tjoi2013 循环格

    传送门 Description 一个循环格就是一个矩阵,其中所有元素为箭头,指向相邻四个格子.每个元素有一个坐标(行,列),其中左上角元素坐标为(0,0).给定一个起始位置(r,c) ,你可以沿着箭头 ...

  8. 【Python自动化运维之路Day2】

    1. 常量命名规则 在Python中,会在变量命名上标明某变量是常量,通常采用全是大写的方式来标明,如: CONNECT= '127.0.0.1' PORT = ' 2.Python编译 python ...

  9. Magcodes.WeiChat——自定义CustomCreationConverter之实现微信自定义菜单的序列化

    微信自定义菜单接口是一个比较麻烦的接口,往往开发的小伙伴们看到下面的这段返回JSON,整个人就会不好了:   {"menu":{"button":[{" ...

  10. 2014 年 20 款最好的 CSS 工具

    说到 WEB 设计,不得不介绍介绍 CSS 工具,CSS 工具在这里面扮演很重要的角色,可以简化无数开发者和设计师的工作,写出更好的 CSS 代码. 而网上有非常多的 CSS 工具,帮助设计师和开发者 ...