app_data中的数据库使用
原文发布时间为:2008-07-24 —— 来源于本人的百度文章 [由搬家工具导入]
ASP.NET中利用VWD操作数据库
建立本地数据库
你可以轻易地在Visual Studio的Web应用程序项目中建立本地数据库。由于Visual Studio安装了SQL Server Express,你可以使用下面的步骤来建立一个本地数据库、添加数据表并填充数据。[newsad][/newsad]
建立本地数据库:
1. 右键点击解决方案浏览器并选择"添加新项…"选项。
2. 选择"SQL数据库"项并指定一个文件名,例如"Database.mdf"。
3. Visual Studio提示把这个文件添加到App_Data目录中。点击"是"。
4. Visual Studio添加这个文件并自动地使用数据库浏览器连接到这个数据库。
给本地数据库添加数据表:
1. 右键点击数据库浏览器中的Tables(数据表)节点并选择"添加新表"选项。
2. 输入数据库中列的名称和类型,可以选择在属性表格中设置其它一些列属性。为了建立示例Contacts数据库,请遵循下面的步骤。
3. 把第一列的名称设置为"ContactID",数据类型设置为"int"。取消"允许空"检查框的选中状态。
4. 右键点击ContactID列左边的灰色方块并选择"设置为主健"选项。
5. 在下方的"列属性"表格中,展开"标识符规范"节点并把"是否为标识符"设置为"是"。
6. 把第二列的名称设置为"ContactName",数据类型设置为"varchar(50)"。让"允许空"检查框保持选中状态。
7. 按下Ctrl-S保存表并把表名设置为"Contacts"。点击OK保存表。
8. 关闭表定义窗口。
用数据填充表:
1. 右键点击数据库浏览器中的数据表节点(例如"Contacts")并选择"显示表数据"选项。
2. 在显示的表格中输入数据表行的数据。如果使用上面的Contacts示例,你可以在ContactName列中输入值,数据库会自动地生成相应的ContactID值。
3. 关闭表格窗口。
绑定到本地数据库
为了绑定到本地数据库,你需要使用相对路径连接来配置ASP.NET数据源控件,以连接到该文件。要把一个SQL Server Express数据库简单地绑定到SqlDataSource和GridView控件,可以使用下面的步骤:
1. 双击解决方案浏览器中的一个页面(例如"Default.aspx")。Visual Studio会打开这个页面。
2. 选择页面窗口底部的"设计视图"标签切换到设计视图。
3. 双击解决方案浏览器中的数据库文件(例如"Database.mdf")。Visual Studio为连接打开数据库浏览器。
4. 展开Tables节点以显示数据库中的表。
5. 把数据库浏览器中的表拖放到设计视图中的那个打开的页面中。Visual Studio建立一个绑定到SqlDataSource控件的GridView。
6. 展开GridView控件的"智能事务面板",选中分页、排序和编辑。
7. 按Ctrl-F5运行页面(没有调试)。
下面的例子显示了一个连接到本地数据库的GridView和SqlDataSource控件。为了运行这个示例,ASP.NET进程帐号必须拥有~/App_Data目录中的MDF和LDF文件的读/写权限。这个权限设置过程如下:
1. 在Windows浏览器中选中~/App_Data/Database.MDF文件并选择"属性"。
2. 选择"安全"标签并点击"添加"。
3. 点击"位置…",选择你的计算机名(在列表顶部),并点击"确定"。
4. 在对象名称文本区,输入ASP.NET进程帐号的名称。在默认情况下,IIS 6.0中的名称是"Network Service",IIS 5. x中的是"ASPNET"。
5. 在"允许"列中选中"读"和"写"并点击"确定"。
6. 如果App_Data目录中存在LDF文件,就需要重复上述步骤,设置LDF文件的属性。
如果你使用Visual Studio在本地计算机上建立应用程序,那么在默认情况下,你是拥有App_Data目录的上述权限的。如果某个数据库文件在被附加之后需要变更权限,你必须在新权限生效之前首先关闭应用程序域(application domain)。
<asp:GridView AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="ContactID" DataSourceID="SqlDataSource1" ID="GridView1" runat="server">
<Columns>
<asp:BoundField DataField="ContactID" HeaderText="ID" ReadOnly="True" SortExpression="ID" />
<asp:BoundField DataField="ContactName" HeaderText="Name" SortExpression="Name" />
</Columns>
</asp:GridView>
<asp:SqlDataSource ConnectionString="<%$ ConnectionStrings:ContactsDatabase %>" ID="SqlDataSource1" runat="server" SelectCommand="SELECT [ContactID], [ContactName] FROM [Contacts]" OnSelected="SqlDataSource1_Selected"></asp:SqlDataSource>