AccessDataSource的使用,一行代码实现增删改
来源:互联网 发布:化身孤岛的鲸 知乎 编辑:程序博客网 时间:2024/06/06 15:51
由于前段时间,我想做一个用Repeater控件实现前台绑定数据,少写甚至不写后置代码。 因此就涉及了AccessDataSource 控件,虽然我想要的结果没有实现,但是我们可以借此机会来学习下此控件,毕竟之前用得也比较少。
AccessDataSource控件,优点在于:“写得少,做得多”,而缺点在于,SQL语句不好处理,如果是更复杂的,该怎么放在这个控件中用? 值得思考,这个问题我暂时放下了,因为时间有限。 (我的理解可能不是最好的理解,但还是希望对大家有所帮助 )
以下以AccessDataSource为例,你只要写一行代码,便实现一个增删查改的页面。
一、我们先建立这个解决方案,使用Access做数据库。
二、看一下数据库表吧
我们的任务便是对这个Test表里面的数据进行增删查改。
三、在页面上拖入如下图的控件,意思很明显。
id是自增类型,time则自动获取时间,所以只需要录入title和content两个字段的内容,下面是一个gridview控件,使用数据源AccessDataSource1,通过使用AccessDataSource我们只要在add按钮的事件里写入一行简单的代码,便实现了增删查改。如下图:
编辑和删除功能集成在gridview控件里,不再需要另外写代码了。
是不是超级简单,那么我们看看在AccessDataSource里要做一些什么设置:
我们看到增删查改的四个sql语句都需要设置的,例如插入:
总之,sql语句的生成,都是可以在这个界面里拖拖便完成了。我们可以看看AccessDataSource的详细设置代码:
<asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="~/App_Data/data.mdb"
DeleteCommand="DELETE FROM Test WHERE (id = ?)" InsertCommand="INSERT INTO Test (title, content, [time]) VALUES (?,?,DATE())"
SelectCommand="SELECT * FROM [Test]" UpdateCommand="UPDATE Test SET title = ?, content = ?, [time] = ? WHERE (id = ?)">
<InsertParameters>
<asp:ControlParameter ControlID="TextBox1" Name="title" PropertyName="Text" />
<asp:ControlParameter ControlID="TextBox2" Name="content" PropertyName="Text" />
</InsertParameters>
</asp:AccessDataSource>
当然,在GirdView中也需要相应的增加修改和删除的按钮,不要紧,这些微软也都提供了:
在GridView的属性里,添加上图标出的两个CommandField。那么便大功告成了,就这么简单,我们看看GridView的代码:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="id"
DataSourceID="AccessDataSource1">
<Columns>
<asp:BoundField DataField="id" HeaderText="id" InsertVisible="False" ReadOnly="True"
SortExpression="id" />
<asp:BoundField DataField="title" HeaderText="title" SortExpression="title" />
<asp:BoundField DataField="content" HeaderText="content" SortExpression="content" />
<asp:BoundField DataField="time" HeaderText="time" SortExpression="time" />
<asp:CommandField ShowEditButton="True" />
<asp:CommandField ShowDeleteButton="True" />
</Columns>
</asp:GridView>
http://wenku.baidu.com/link?url=551GsX1d0vj92A9zn14XDlOJcphi_vzOcV-4FA5t1MtgvcfloHh3hwy3MUZrHAmxP0moq5of1XDhOlFxi-0FyFkUaOIqlJ_0qt79hroR6OK
AccessDataSource
以下是AccessDataSource的一些详细描述
类是使用
Microsoft Access 数据库的数据源控件。与它的基类SqlDataSource一样,AccessDataSource控件使用SQL 查询执行数据检索。
AccessDataSource控件的一个独特之处是不用设置ConnectionString属性。
您需要做的就是使用DataFile属性设置Access .mdb 文件的位置,AccessDataSourc将负责维护数据库的基础连接。
您应该将Access 数据库放在网站的App_Data 目录中,并用相对路径(如
~/App_Data/Northwind.mdb)引用它们。此位置可以为数据文件提供额外的安全性,因为如果直接由客户端Web 浏览器请求这些数据文件,不会提供它们。
AccessDataSource类不支持连接到受用户名或密码保护的Access 数据库,因为您无法设置
ConnectionString属性。如果您的Access 数据库受用户名或密码保护,请使用
SqlDataSource控件连接到数据库,以便可以指定完整的连接字符串。您可以使用数据绑定控件的DataSourceID 属性将数据绑定控件绑定到AccessDataSource。有关将数据绑定控件绑定到数据源控件的更多信息,请参见使用数据源控件绑定到数据。因为AccessDataSource控件专门用于一个数据库产品,所以它总是使用同一个提供程序:System.Data.OleDb .NET
数据提供程序。因此,ProviderName属性为只读的。在使用System.Data.OleDb
提供程序时,参数化SQL 语句中的参数顺序非常重要,您在SelectCommand、
UpdateCommand、InsertCommand 和DeleteCommand属性中指定的任何参数化
SQL 查询都必须与相应参数集合中的任何Parameter对象的顺序相匹配。如果在
AccessDataSource上没有指定参数集合,则提供给这些操作的参数顺序必须与它们在基础SQL 语句中的顺序相匹配。有关更多信息,请参见对 SqlDataSource 控件使用参数。
AccessDataSource控件支持其基类支持的同样的缓存行为。使用缓存可以提高使用AccessDataSource控件的页面的性能。有关数据源缓存的更多信息,请参见使用数据源控件缓存数据。
下表描述了AccessDataSource控件的功能。功能要求排序将DataSourceMode属性设置为DataSet值。筛选将FilterExpression属性设置为在调用Select方法时用于筛选数据的筛选表达式。
分页AccessDataSource不支持直接在Access 数据库上进行分页操作。如果将
DataSourceMode属性设置为DataSet值,则数据绑定控件(如GridView)可以在AccessDataSource返回的项上进行分页。
更新将UpdateCommand属性设置为用来更新数据的SQL 语句。此语句通常是参数化的。
删除将DeleteCommand属性设置为用来删除数据的SQL 语句。此语句通常是参数化的。
插入将InsertCommand属性设置为用来插入数据的SQL 语句。此语句通常是参数化的。
缓存将DataSourceMode属性设置为DataSet值,EnableCaching属性设置为true,并根据希望缓存数据所具有的缓存行为设置CacheDuration和CacheExpirationPolicy属性。与所有数据源控件一样,AccessDataSource控件与强类型数据源视图类关联。正如AccessDataSource控件扩展SqlDataSource
控件,AccessDataSourceView类扩展SqlDataSourceView类。AccessDataSourceView类重写几个SqlDataSourceView方法以使用System.Data.OleDb. .NET 数据提供程序。
- AccessDataSource的使用,一行代码实现增删改
- 基于SQLite3轻量级封装,一行代码实现增删改查
- 使用NetBeans实现表格的增删改
- (原理篇)基于SQLite3轻量级封装,一行代码实现增删改查
- MongoDB使用java代码实现增删改查
- php实现mysql数据的增删改查代码
- 使用JDBC给数据库进行增删改的代码
- 使用velocity 代码生成器,告别繁琐的增删改查
- 一行代码完成自定义表单的增删改查,并且在线重新设计表单无需编写代码
- 使用类实现更大权限的增删改
- 使用Hibernate实现简单的数据库增删改查。
- 使用JDBC实现对数据的增删改查
- 使用Servlet实现增删改查的功能
- 使用 NodeJS+Express+MySQL 实现简单的增删改查
- java使用反射实现对数据库的增删改查
- 初次使用servlet实现对数据的增删改查
- 使用JavaBean实现对MySQL数据库的增删改操作
- 使用springMvc+easyui+mysql实现简单的增删改查
- java list大数据量用addAll
- 在oracle存储过程中执行动态sql
- 第1章、从零开始学Android
- MFC CString字符串/C++ string split
- 结构体对齐详解
- AccessDataSource的使用,一行代码实现增删改
- ip rule
- Nginx基本操作
- 二维码相机遮罩层快速实现
- 第3章、第一个“Hello,world!”之Android App(从零开始学Android)
- 大端法、小端法、网络字节序
- OOALV小例子
- iptable flow
- 第4章、打包Android应用(从零开始学Android)