asp.net中数据链路层的创建(4)

 

至此,我们可以手工输入SQL查询。当生成TableAdapter的第一个方法时,你一般想要让你的查询返回那些需 要在对应的DataTable中存放的字段。我们可以建立一个从Products表里返回所有字段,所有数 据行的查询来达到我们的目的:

图 8: 在文本框里输入SQL查询

或者,我们可以使用查询生成器(Query Builder),用图形界面来构造查询,如图9所示。

图 9: 通过查询编辑器生成查询

在生成查询之后,在移到下一屏之前,点击“高级选项(Advanced Options)”按钮。在网站项目里,在默认 情形下,“生成插入,更新,删除语句”是唯一已被选中的选项。如果你在类库项目或Windows项目里运行这个 向导的话,“采用优化的并发控制(optimistic concurrency)”选项也会被选中。现在先别选“采用优化的并发 控制”这个选项。在以后的教程里我们会详细讨论优化的并发控制。

图 10: 只选“生成插入,更新和删除语句”这个选项

在核实高级选项后,按“下一步(Next)”按钮转到最后一屏。在这里,配置向导会问我们要给TableAdapter选择添加什么方法。填充数据有两种模式:

  • 填充DataTable – 这个做法会生成一个方法,该方法接受一个DataTable的参数,基于查询的结果 填充这个DataTable。譬如,ADO.NET的DataAdapter类就是在它的Fill()方法中实现这个模式的 。
  • 返回DataTable – 这个做法会生成一个方法,该方法会创建并填充一个DataTable,然后将 其作为方法的返回值。

你可以让TableAdapter实现其中一个模式或者同时实现两个模式。你也可以重新命名这里提供的这些方法。让 我们对两个复选框的选项不做改动,虽然我们在这些教程里只需要使用后面这个模式。同时,让我们把那个很 一般性的GetData方法名改成GetProducts

这最后一个复选框,“生成DB直接方法(GenerateDBDirectMethods)”,如果选了的话,会为TableAdapter自动生 成Insert()Update(),和Delete()方法。如果你不选这个选项 的话,所有的更新都需要通过TableAdapter唯一的Update()方法来实现,该方法接受一个强类型的DataSet,或者一个DataTable,或者单个DataRow,或者一个DataRow数组。(假如你 在图9所示的高级属性里把“生成添加,更新和删除语句”的选项去掉的话,这个复选框是不起作用的)。让我们 保留这个复选框的选项。

图 11: 把方法名字从 GetData 改成 GetProducts

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值