目录
【1】ADO.NET和ADO的区别:
ADO以Recordset存储,而ADO.NET则以DataSet表示。Recordset看起来更像单表,如果让Recordset以多表的方式表示就必须在SQL中进行多表连接。反之,DataSet可以是多个表的集合。ADO 的运作是一种在线方式,这意味着不论是浏览或更新数据都必须是实时的。ADO.NET则使用离线方式,在访问数据的时候ADO.NET会利用XML制作数据的一份幅本,ADO.NET的数据库连接也只有在这段时间需要在线。
由于ADO使用COM技术,这就要求所使用的数据类型必须符合COM规范,而ADO.NET基于XML格式,数据类型更为丰富并且不需要再做COM编排导致的数据类型转换,从而提高了整体性能。
【2】ADO.NET的五大核心对象:
Connection,Command,DataAdapter,DataSet,DataReader
【3】不同命名空间下的Connection对象
【4】连接数据库的字符串,2种方式:
使用SQL 用户名和密码登录:
使用Windows身份验证登录:
【5】Command对象中的几个主要成员:
返回第一行第一列的数据,即第一个单元格的数据。
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = sql;
以上三句等价于SqlCommand cmd = new SqlCommand(sql,conn);
如果命名中要传参数SqlParameter[] pas,要在命令执行之前添加参数
if (pas!= null)
{ foreach (SqlParameter parm in pas) cmd.Parameters.Add(parm); }
【6】DataAdapter对象:实现查询,返回数据集。查询数据,运输数据。
填充数据的基本步骤:
例子:
public DataSet ExecuteReturnDataSet(string sql, params SqlParameter[] parms) { DataSet ds=new DataSet(); SqlConnection connection = new SqlConnection(ConnStr) SqlDataAdapter adapter = new SqlDataAdapter(sql,connection); if (parms != null&&parms.Length>0) { foreach (SqlParameter parm in parms) adapter.SelectCommand.Parameters.Add(parm); } adapter.Fill(ds); return ds; }
【7】DataReader(数据阅读器):一般用于读取一条数据,多条选择DataSet
DataReader对象是五大对象里面唯一不能直接NEW的对象,需要通过Command对象的ExecuteReader来创建DataReader