大话ADO.NET操作流程

ADO.NET的数据库操作流程如下:

1、建立数据库连接,包含连接对象(sqlconnection)、连接字符串、打开连接三个步骤。

2、执行命令,包含命令对象(sqlcommand)、sql语句、打开的连接对象

3、返回结果,包含两种情况,一是返回SqlDataReader对象,一是返回DataSet对象

抽水的流程大致如下:

<!–[if !supportLists]–>1、 <!–[endif]–>确定水龙头的连接方向

<!–[if !supportLists]–>2、 <!–[endif]–>接水龙头

<!–[if !supportLists]–>3、 <!–[endif]–>发动抽水机

<!–[if !supportLists]–>4、 <!–[endif]–>接水管

<!–[if !supportLists]–>5、 <!–[endif]–>准备水池来存放水

<!–[if !supportLists]–>6、 <!–[endif]–>把水管中的水输到水池中

<!–[if !supportLists]–>7、 <!–[endif]–>抽完水,关水龙头

<!–[if !supportLists]–>8、 <!–[endif]–>停止抽水机

9、 拆水管

下面用对比的方法来形象地理解每个对象的作用


1、数据库好比水源,存储了大量的数据。


2Connection好比伸入水中的进水笼头,保持与水的接触,只有它与水进行了连接,其他对象才可以抽到水。


3Command则像抽水机,为抽水提供动力和执行方法,通过水龙头,然后把水返给上面的水管


4DataAdapterDataReader就像输水管,担任着水的传输任务,并起着桥梁的作用。二者是有不同的,后面章节中将详细介绍。


5DataSet则是一个大水库,把抽上来的水按一定关系的池子进行存放。即使撤掉抽水装置(断开连接,离线状态),也可以保持的存在。这也正是ADO.NET的核心。


6DataTable则像水库中的每个独立的水池子,分别存放不同种类的水。一个大水库由一个或多个这样的水池子组成。


编码实现如下:

//数据库连接字符串  --确定水龙头连接的方向
string strCon = "Data source=.;Initial Catalog=db;User ID=abc;Password= ";
string strSql = "select UserCode,UserName,DivisionCode from UserMas";
//定义连接对象      --接水龙头
SqlConnection conn = new SqlConnection(strCon );
//打开连接对象      --开水龙头
conn.Open();
//实例化SqlCommand对象来执行sql语句           --发动抽水机
SqlCommand comm = new SqlCommand(strSql,conn);
//实例化SqlDataAdapter对象来把数据源引到myDa  --接水管
SqlDataAdapter myDa = new SqlDataAdapter(comm);
//实例化DataSet来存放数据源                   --准备水池来储水
DataSet Ds = new DataSet();
//用myDa填充Ds     --把水管的水存到水池
myDa.Fill(Ds);
//关闭连接对象     --抽完水,关水龙头
conn.Close();
//关闭comm对象     --停止抽水机
comm.Dispose();
//关闭Da对象       --拆水管
myDa.Dispose();