作者DearKurt ("小朋友"会自己找出路...)
看板C_Sharp
标题Re: [问题] 请教 Adapter 的观念
时间Sat Aug 18 14:55:18 2012
我是没直接用DataAdapter
因为如果是用Visual Studio开发
它有功能可以针对你的资料表自动产生相对应的DataAdapter
整合到TableAdapter内 以及相对应的DataTable
而且所有Command跟Connection物件也一同帮你设计好
这功能VS Express版只支援Access资料库跟SQL SERVER COMPACT资料库
专业版以上才支援所有资料库
另外讲到资料处理流程
预设它所产生的SelectCommand是捞所有资料
如果资料很多时 为了改某一笔资料而把所有资料放到DataTable内 实在很没效率
这时你可以对TableAdapter作"加入查询"动作 专门针对自订条件查询
通常命名为FillByXXX
所以整个流程
先FillByXXX(某DataTable) 然後去修改某DataTable内的资料 再用Update(某DataTable)
这样Update就会自动判断你对某DataTable所做的变化 不管是新增修改或删除
用相对应的Command去处理资料
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.173.28.87
1F:推 magaiml:那请问一下,那个工具在哪呢?还有 参数 到底如何使用? 08/20 12:34
2F:→ magaiml:既然参数是命令的变数 那为何还要给他值呢? 08/20 12:34
http://ppt.cc/vQg8
建好TableAdapter後
再去观察自动产生的TableAdapter原始码
或是在Form设计模式下把该TableAdapter元件拉进去
就可以知道里面的Command参数 程式如何写的 以及如何设定
不过微软在这资料库部分已经作很多程式自动化对应产生
应该只需要懂得如何利用这些精灵工具会比较省事
※ 编辑: DearKurt 来自: 218.173.30.200 (08/21 00:02)
3F:推 magaiml:谢谢你,我发现这个工具真不错用,但我使用起来 08/24 17:32
4F:→ magaiml:发现由工具做出来的DataTable DataSet DataAdapter 08/24 17:33
5F:→ magaiml:等等,都无法和原本的做连结 08/24 17:34
6F:→ magaiml:例如 我有写一个方法,丢给她 DataTable 他就会更新资料 08/24 17:34
7F:→ magaiml:然後回传,此时我就不能丢工具做出来的DataTable 08/24 17:35
8F:→ magaiml:他们是属於不同空间的东西,要如何解决呢? 08/24 17:35
9F:→ magaiml:我要一次更新数个原始资料表,不就很麻烦? 08/24 17:36
10F:→ DearKurt:可以用GetData直接回传新的DataTable 08/25 14:50
11F:推 magaiml:这个我试过呀,的确可以把数据带入我写的方法, 08/25 20:22
12F:→ magaiml:可是要更新回去就没办法了,即使用COPY到原Table 08/25 20:24
13F:→ magaiml:也没办法,看来如果要写一个专门更新的元件, 08/25 20:24
14F:→ magaiml:还是要用写的,除非每个资料库各写一个方法, 08/25 20:25
15F:→ magaiml:谢谢你告诉我这麽好用的工具,谢谢。 08/25 20:25
16F:→ magaiml::) 08/25 20:25