来源于网络

1.       SqlConnection(DBConnection)  建立程序与数据库的链接 链接字符串有两种形式:

//使用Windows验证  SSPI(安全支持提供程序接口)

String theConnectionString =”Data Source=.express; Initial Catalog=DataBase; Intergrated Security=SSPI”;

//使用SQL Server身份验证

String theConnectionString=”Data Source=.express; Initial Catalog=DataBase; User ID=XX; Password=mypassword”;

关于连接池(connection pooling):里面放了很多的连接,只要连接字符串的值不发生改变,Ado.net则会重用现有的链接,而不建立新的链接。其默认值为true,这也是为什么每次操作结束之后都调用一个conn.Close()方法:将连接返回连接池。

2.       SqlCommand(DBCommand) 对数据库发出一些指令

写好CommandText之后可以选择执行:

*ExecuteNonQuary: 适用于不需要返回任何记录的情况,比如insert,update,delete

*ExecuteReader :通过执行ConnectText,返回一组DataReader对象

*ExecuteScalar :用于执行查询,返回查询结果所返回的数据集中的第一行第一列

*ExecuteXmlReader:

或者用Adapter来执行

它用的比较多的属性有:

*CommandText : *CommandType :*Connection : *Parameter :

期中的CommandType共有三种:CommandType.Text/CommandType.StoredProcedure/

CommandType.TableDirect

存储过程:theComand.CommandText=”存储过程名”

theComand.CommandType=CommandType.StoreProceduce

Parameter :向command对象添加参数

防止SQL注入:

Using(SqlCommand cmd=new SqlCommand())

{

cmd.Connection=conn;

cmd.CommandText=”delete customer where customerID=@id”;

cmd.CommandType=System.Data.CommandType.Text;

SqlParameter paramID=new SqlParameter(“@id”,textBox1.Text);

cmd.Parameter.Add(paramID);

}

3.       DataAdapter  链接数据库与DataSet之间的桥梁

SqlDataAdapter sda=new SqlDataAdapter(command): 在默认情况下,这个command会用于填充DataAdapter的SelectCommand属性,对于其他的属性,可以使用SqlCommandBuilder自动生成:

SqlDataAdapter sda=new SqlDataAdapter(theCommand);

SqlCommandBuilder theBuilder=new SqlCommandBuilder(sda);

Adapter.Fill(ds,”DataTable”) : 使用SelectCommand属性获取对象,并将它填充到ds中的DataTable表中

Adapter.FillSchema(ds1,SchemaType.Source,”DataTable”) 不放数据,而是把DataTable的框架拷贝给ds1

Adapter.Update();将数据库中的数据更新到DataSet中

4.       DataReader : 当只需要循环读取数据而不需要进行其他操作的时候可以使用这个。因为它在读取数据时限制了每次只能读取一笔数据,而且只能只读,所以使用起来不仅节省资源,而且效率很高。

DataReader对象通过Command的ExecuteReader方法获得,一旦获得之后可以使用它的Read方法来获取数据

SqlDataReader reader=new SqlDataReader();

String output=String.Empty;

If(reader.HasRows)

{

while(reader.Read()

{Console.WriteLine(reader[“name”]/reader[1]).toString();}

}

Reader.Close();

5.       DataSet :可以将它视为一个cache,将数据库中查询到的数据保留起来

构造的时候顺序(列->表->cache):

Private static DataSet BuildDataSet()

{

DataSet ds=new DataSet();

DataTable dt=new DataTable(“Product”);

DataColumn dcProID=new DataColumn(“ProductID”,typeof(int));

DataColumn dcProName=new DataColumn(“ProductName”,typeof(string));

dcProName.MaxLength=100;

DataColumn dcReleaseDate=new DataColumn(“ReleaseDate”,typeof(DataTime));

//添加列

Dt.Column.Add(dcProID);

Dt.Column.Add(dcProName);

Dt.Column.Add(dcReleaseDate);

//添加约束:

Dt.PrimaryKey=new DataColumn[]{dcProID };

Dt.Constraints.Add(new UniqueConstraint(dcProName));

//添加元祖:

Dt.Raws.Add(new object[]{1,””,DataTime.Now});

Ds.Table.Add(dt);

Return ds;

}

若有多张表的话,还可以创建DataRelation  参考:http://blog.sina.com.cn/s/blog_55a69f170100l16k.html

删除DataTable中的一行:

Public void DeleteCustomer(int id)

{

DataSet ds=new DataSet();

DataRow[] results=ds.Table[“表名”].Select(“ID=”+id.ToString());

If(results.length>0)

{result[0].Delete();} //Delete:给行标记上删除记号,等最后操作的时候删除,区分与Remove()的区别

Ds.AcceptChanges();

}

ADO。net学习笔记的更多相关文章

  1. ADO.NET 学习笔记 入门教程

    本文转载自:http://www.youarebug.com/forum.php?mod=viewthread&tid=57&page=1&extra=#pid63 这是本人在 ...

  2. ADO.NET学习笔记(1)

    ADO.Net是.Net框架中为数据库的访问而封装的一个库.通过这个库我们可以简单便捷的访问数据库,并对数据库进行一些增删改查的操作,目前ADO.Net支持四种主流的数据库,分别是SQL.OLE DB ...

  3. C#-ado.net学习笔记-会有更新

    ado.net 通用类对象.在本地内存暂存数据 托管类对象.让本地通用类对象连接数据库,让本地通用类对象和数据库同步 连接数据库 new connection(connectstring) comma ...

  4. Sql Ado.net 学习笔记之连接字符串

    https://www.cnblogs.com/heng95/p/5902019.html 连接字符串 SQL Client .net数据提供程序在连接到数据库时极其灵活,它提供了多种用以生成连接字符 ...

  5. ADO.NET Entity Framework学习笔记(3)ObjectContext

    ADO.NET Entity Framework学习笔记(3)ObjectContext对象[转]   说明 ObjectContext提供了管理数据的功能 Context操作数据 AddObject ...

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

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

  7. Entity Framework学习笔记——错误汇总

    之前的小项目做完了,到了总结经验和更新学习笔记的时间了.开始正题之前先啰嗦一下,对之前的学习目标进行一个调整:“根据代码生成表”与“生成数据库脚本和变更脚本”合并为“Code First模式日常使用篇 ...

  8. AJax 学习笔记二(onreadystatechange的作用)

    AJax 学习笔记二(onreadystatechange的作用) 当发送一个请求后,客户端无法确定什么时候会完成这个请求,所以需要用事件机制来捕获请求的状态XMLHttpRequest对象提供了on ...

  9. CUBRID学习笔记 3 net连接数据库并使用cubrid教程示例

    接上文 数据库安装好后,也可以测试语句了. 下面我们用c#写一个控制台程序,连接数据库,并读取数据. 一 下载驱动  net版的下 CUBRID ADO.NET Data Provider 9.3.0 ...

  10. Entity Framework学习笔记

    原文地址:http://www.cnblogs.com/frankofgdc/p/3600090.html Entity Framework学习笔记——错误汇总   之前的小项目做完了,到了总结经验和 ...

随机推荐

  1. 如何使用 AngularJS 的 ngShow 和 ngHide

    今天我们来看看怎样使用Angular的ngShow 和ngHide 指令来完成它们听起来应该完成的,显示和隐藏! 它们应该做的事 ngShow 和ngHide 允许我们显示或隐藏不同的元素.这有助于创 ...

  2. JVM 设置

    按照基本回收策略分 引用计数(Reference Counting) 标记-清除(Mark-Sweep) 复制(Copying) 标记-整理(Mark-Compact) 按分区对待的方式分 增量收集( ...

  3. 状态转移的最短路 隐式图搜索 UVA 658

    紫书365 题目大意:给你n个全都是bug的东西,然后每次可以修复,给你修复前后的状态,问最后如果能把bug全都修复,最少需要多少时间. 思路:从最初状态开始,然后枚举bug即可. 表示priorit ...

  4. 在调试安卓系统的时候需要这个 ”adb disable-verity“

    在调试设备的时候.想要对文件进行读写 于是使用adb remount 出现提示. 请使用 ”adb  disable-verity“ 于是使用adb  disable-verity 的命令. 得到如下 ...

  5. 关于项目刚才还能运行的,重启Myeclipse就不能运行(报错)的解决方法

    这个是以为内存不足引起的,就是打开MyEclipse的时候,因为内存不足,没有加载完整的项目,这个时候需要重启电脑,即可解决问题.

  6. 用sql server的sql语句算一个empty GUID

    在C#中得到一个empty GUID的方法是: Guid id= Guid.Empty; 那么在SQL Server Management Studio中怎样得到一个empty GUID呢? 方法有两 ...

  7. Properties集合

    Map |--Hashtable |--Properties Properties集合特点: 1.该集合中的键和值都是字符串类型 2.集合中的数据可以保存在IO流中或者从IO流中获取数据. 通常该集合 ...

  8. Core Data & MagicalRecord

    iOS 本地数据持久化存储: 1.plist 2.归档 3.NSUserDefaults 4.NSFileManager 5.数据库 一.CoreData概述 CoreData是苹果自带的管理数据库的 ...

  9. JSP 基础

    定义 JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术. JSP这门技术的最大的特点在于,写jsp就像在写html,但它相 ...

  10. IDL实现 Modis经纬度查询、迅雷下载

    转载请注明原文地址 本文纯属交流学习,请勿用作其他用途.匿名登录ModisFTP站点可能导致侵权,所造成的一切法律后果,本人概不负责. 一 介绍 Modis免费分发,光谱通道丰富,产品体系成熟,在多个 ...