####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. ASP.NET 创建网站地图

    很多个人站长会使用工具来生成自己网站的站点地图,这样做的缺点在于网站的 sitemap 不能及时的得到更新.当我们发表了一篇新文章时,应该对网站的地图进行更新,并通知搜索引擎网站地图已经发生了改变! ...

  2. jquery星级评论打分组件

    <!DOCTYPE HTML><html> <head> <meta charset="utf-8"><title>jq ...

  3. 命令行参数 main()函数设计

    一.main()函数的形式 int main( void )--无参数形式 { ... return 0; } int main( int argc, char *argv[] )--带参数形式 { ...

  4. CDN在中国的发展的九个年头的点点滴滴

    对于发展快速的互联网行业来说,8年时间已经足够让一个产业跌宕起伏.但CDN在国内的发展却没有大红大紫,直到2005... 对于发展快速的互联网行业来说,8年时间已经足够让一个产业跌宕起伏.但CDN在国 ...

  5. 【Map】获取字符串中,每一个字母出现的次数

    package cn.itcast.p1.map.test; import java.util.Iterator; import java.util.Map; import java.util.Tre ...

  6. 【温故Delphi】之编译与链接(转)

    本文基本转自“Delphi编译/链接过程” @瓢虫Monster,向瓢虫君学习,:) 下图展示了Delphi是怎样编译源文件,并把它们链接起来,最终形成可执行文件的. 当Delphi编译项目(Proj ...

  7. Map:containsKey、containsValue 获取Map集合的键值的 值

    get(Object key) 返回与指定键关联的值: containsKey(Object key) 如果Map包含指定键的隐射,则返回true: containsValue(Object valu ...

  8. Entity Framework Code First 学习

    1.添加entityframework 项目-管理解决方案的 NuGet 程序包-联机-Entity Framework 2.code first Migration 工具->库程序包管理器-& ...

  9. Java并发(8):CountDownLatch、CyclicBarrier、Semaphore、Callable、Future

    CountDownLatch.CyclicBarrier.Semaphore.Callable.Future  都位于java.util.concurrent包下,其中CountDownLatch.C ...

  10. Java实验二20135104

    课程:Java程序设计          班级: 1351 姓名:刘帅                学号:20135104 成绩:             指导教师:娄嘉鹏       实验日期:2 ...