ASP.NET2.0中的AccessDataSource控件(3)
2008-02-22 09:35:47来源:互联网 阅读 ()
图 2-4
(5) 回到Design视图并选择AccessDataSource(不是GridView)。打开它的便捷任务面板并单击Configure Data Source。在Configure Select Stat ement窗口中,选择“Specify a custom SQL statement”并单击Next。在编辑器中修改SQL语句,如下所示:
| SELECT * FROM [Products] WHERE (CategroyID=3) |
(6) 单击Next并测试查询。单击OK关闭对话框。查看一下Source视图中的页面并注意如下代码:
| <asp:accessdatasource id="NorthwindAccDataSource" runat="server" selectcommand="SELECT * FROM [Products] WHERE (CategoryID = 3) " Datafile="~App_Data/Northwind.mdb"> </asp:accessdatasource> |
(7) 试着使用对话框来创建如下一些Select命令,也可以在Source视图中输入,或者两者结合起来使用。
| SELECT * FROM Products WHERE ProductID = 12 SELECT * FROM Products WHERE ProductName = 'Northwoods Cranberry Sauce' SELECT * FROM Products WHERE ProductID <11 SELECT * FROM Products WHERE ProductID <11 ORDER BY ProductName Ascending SELECT * FROM Products WHERE SupplierID = 6 OR SupplierID = 8 SELECT * FROM Products WHERE SupplierID = 24 AND UnitPrice > 10 |
示例说明#3—— 更改AccessDataSource中的选择语句
在首先几个步骤中,像前面一样创建了一个AccessDataSource控件和GridView。但是随后开始用Select语句进行试验。通过复选框添加和删除列是最直观的。还可以在编辑器窗口中直接输入(或者编辑)SQL语句。
添加了WHERE子句用来限制从MDB文件中返回的记录。如果列名没有包含空格,那么可以省略方括号。如果在列名中包含了空格,那么就必须使用这些方括号。
MDB文件位置中的变量
MDB文件保存在硬盘中的各种物理位置上:与Web页相同的文件夹、Web页下的子文件夹或者机器中的其他文件夹等。在Visual Web Developer中,可以在设计器中经常浏览这些文件,并且MDB文件的正确路径也已经输入好了。但是,如果您打算输入自己代码的话,还需要遵循本节所介绍的语法。
AccessDataSource控件的DataFile属性包含的页面路径可以是完全限定的(例如以驱动器盘符开头)也可以是相对于包含AccessDataSource的页面的位置而指定的。路径还可以是相对于应用程序的,即使用URL语法来引用路径。这个语法将符号(~)替换为应用程序根目录,比如:~\App_Data\produces.mdb。使用相对于应用程序的路径可以更加容易地将页面从一个位置移动到另外一个位置而不破坏对数据库的引用,所以推荐在可能的时候都使用相对于应用程序的路径。
首先,我们来看完全限定路径的语法,它包含了MDB文件的整个路径,以文件所在的计算机驱动器的根目录开头:
| <asp:accessdatasource . . . datafile= "C:\WebSites\WebApplication\App_Data\MyMdb.mdb"> |
虽然这个语法可以使用,但是它的不足之处就是降低了应用程序的可移植性。如果要移动这个应用程序至另外一台机器上,那么驱动器或者文件的完全限定路径就会不一样,而且在每次移动页面的时候,您都需要修改DataFile属性。
对完全限定路径的一个改进就是使用相对路径语法,它只需要指定与包含了AccessDataSource的页面的完全限定路径不相同的部分。下面是与页面相同文件夹中数据库文件的路径语法,以相对路径指定:
| <asp:accessdatasource . . . datafile="MyMdb.mdb"> |
因为页面和MDB文件同处一个目录,所以这些文件的路径没有区别;因此,只需要指定各自的文件名即可。如果MDB处于该文件夹的下一级或更多级目录中,那么下面的语法与前面的非常类似。在这样的情况下,只需要指定子文件夹名称,再添加斜杠和MDF文件名:
| <asp:accessdatasource . . . datafile="MyDaughterFolder/MyMdb.mdb"> |
如果MDB文件处于页面目录的上级目录中,那么也可以使用双句点语法来指定当前位置的上一级目录:
| <asp:accessdatasource . . . datafile="../MyMdb.mdb"> |
通过使用相对路径语法,可以很容易地将应用程序从一个地方移动至另外一个地方而不用改变MDB文件的路径。因为页面和MDB文件总是形影不离(假如MDB文件是应用程序的一部分),所以这些文件的相对位置总是保存一致。但是,当打算在应用程序内部移动路径,例如将页面移动至子目录中,那将会发生什么呢?在这样的情况下,页面和MDB文件之间的相对位置发生了改变,那么相对路径语法也就不正确了。
应用程序相对语法解决了这个问题。此时,路径总是相对于应用程序根目录来指定的,而不是相对于页面本身。根目录表示为符号(~):
| <asp:accessdatasource . . . datafile="~App_Data/MyMdb.mdb> |
现在可以容易地移动应用程序、或者在应用程序内移动页面而不用改变对数据库的引用了。所以,应当在可能的时候都使用应用程序相对路径。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash
