####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. UIImageView、UISlider、UISwitch、UIStepper、UISegmentControl

    UIImageView——图像视图 作用:专门用来显示图片的控件 . 设置图像 [self.imageView setImage:[UIImage imageNamed:@"abc.png& ...

  2. windbg符号

    Symbol Server (Microsoft): srv*c:\mss*http://msdl.microsoft.com/download/symbols Symbol Server (Citr ...

  3. linux学习之——学习路线(摘抄)

    摘抄某笔者的Linux练习的道路图(rolistingmap): 对比一下为什么要学习linux 了解Linux的基础常识,这些包括了用户管理.群组的概念.权限的观念等 掌握至多50个以上的常用命令 ...

  4. 揭开HTTP网络协议神秘面纱系列(三)

    HTTP首部字段有四种类型:通用首部字段,请求首部字段,响应首部字段,实体首部字段. 通用首部字段: 首部字段 说明 Cache-Control 控制缓存的行为 Connection 逐跳首部.连接的 ...

  5. BHP编译器教程

    BHP编译器教程 BHP是一个WEB模版编程语言编译器,生成PHP后端代码. 最简单的Helloworld例子 编写一个hello.bhp文件 <? $hello="hello,wor ...

  6. 使用 xlrd 模块实现对excel 的读取、excel转json 、excel 转 mysql insert 语句

    #-*- coding:utf-8 -*- # 处理 excel 中的 area 为 Mysql insert 语句 import xlrd, json, codecs, os # data = xl ...

  7. ICMP

    (一)ICMP IP是一个尽力的不可靠的协议,IP不能提供差错控制(如果数据在传播过程中出现错误了),这个时候ICMP就起作用了. ICMP提供两个功能:差错的报告,查询. ICMP的ICMP包分为两 ...

  8. UML用例图中泛化、扩展、包括

    在画用例图的时候,理清用例之间的关系是重点.用例的关系有泛化(generalization).扩展(extend)和包含(include).其中include和extend最易混淆.下面我们结合实例彻 ...

  9. Java起源、发展历程、环境变量、第一个Java程序等【1】

    若有不正之处,请多多谅解并欢迎批评指正,不甚感激. 请尊重作者劳动成果,转载请标明原文链接: 本文原创作者:pipi-changing 本文原创出处:http://www.cnblogs.com/pi ...

  10. HTML之jQuery

    一.简介 jQuery是一个兼容多浏览器的javascript库,核心理念是write less,do more(写得更少,做得更多).jQuery在2006年1月由美国人John Resig在纽约的 ...