• λ我爱Aspx >> Asp.Net >> 初谈ADO.NET中利用DataAdapter进行数据操作
  • 初谈ADO.NET中利用DataAdapter进行数据操作

  • :aspxer  Դ:5iaspx  :2007-8-1 13:14:57  ؼ:.net,数据
  • myAda.DeleteCommand = New SqlCommand("delete * from UserInfo where .....")

    经过上面的这一番折腾,已万事俱备,我们的数据适配器已经可以使用自身的利器SqlCommand对数据库进行操作了;等等,有点问题,我们数据表里的字段名字起的都是英文,那么程序运行也是默认英文显示,作为堂堂中国人,这点是不能原谅的,那有我们的方块字看着赏心悦目。没有关系,看下面代码:

    myAda.TableMappings.Add("UserInfo", "UserInfo");

    myAda.TableMappings[0].ColumnMappings.Add("UserID", "用户");

    myAda.TableMappings[0].ColumnMappings.Add("UserName", "用户姓名");

    myAda.TableMappings[0].ColumnMappings.Add("UserAge", "年龄");

    myAda.TableMappings[0].ColumnMappings.Add("UserSex", "性别");

    myAda.TableMappings[0].ColumnMappings.Add("UserAddress", "地址");

    微软也尊重我们,通过DataAdaper给我们提供了TableMappings属性,利用它就可以把数据库里的千奇百怪的字段名毫不费力的给转成我们需要的名字,人家这里称作是映射。这下总算差不多了,我们要开始行动了,要对数据库动刀了,开头做了那么多准备,接下来就轻松了。首先是从数据表里查询数据,就是我们惯用的Select,myAda.Fill(mySet, "UserInfo");这句就行了,这么简单?是啊,这里myAda到底给我们做了什么?它做的也不少哦,它先要自动的把我们的数据库连接打开,就是上面代码中已经定义好的那个连接对象;完了寻觅到myAda数据适配器的SelectCommand命令,根据这个SelectCommand命令去数据表里查询数据,最后把提取到的数据放进了DataSet(在此为mySet)中的一个DataTable(在此为UserInfo)中,等到一切做完后,还会很负责任的把它自己打开的连接给关闭掉,哈哈,很不错的一个家伙哦!查询完成了,更新,删除当然也是不在话下了,我们在dataGridView控件中编辑完数据后,会首先将变化反映到关联的DataSet的DataTable中,接下来还是数据适配器上场,直接调用它的Update万能方法就可以了,就会把我们的数据的更改写到源数据表中了.这里万能的背后仍然是DataAdaper的SqlCommand命令,我们此前已经为它们配置好了,这里的一切就交给Update方法吧.这里要罗索一下的是mySet.Tables[0].AcceptChanges(),这句很有用,要不你更新一条后,接着再去更新第二条,第三条的话,就会出现异常,因为一次更新发生后,DataSet会对本次更新挂起,到下一次更新的时候又会重复进行上一次挂起的更改,所以在每次更新后必须调用AcceptChanges来清除挂起的更改.

    Ҷƪл˵?
  • һƪPhotoshop精彩特效:玻璃砖墙材质图
    һƪ使Div内内容可编辑