转载地址:
http://dev.rdxx.com/NET/ADONET/2009/2/2420375960327_2.shtml
(接上)拥有数据表(DataTable)数据表关联(DataRelation)。DataSet中可以存储多张表等。DataSet拥有类似于数据库的结构,但它并不等同于数据库。首先他可以存储来自数据库的数据,而且还可以存储其他格式的数据,比如 XML格式文档;
1.查询数据
讲到DataSet的数据库应用,先要了解ADO.NET中的另一个对象DataAdapter .
它也分为SqlDataAdapter 和OleDbDataAdapter
建DataAdapte:
OleDbDataAdapter MyAdapter=new OleDbDataAdapter();
SqlDataAdapter MyAdapter=new SqlDataAdapter();
取得的DataAdapter 对象时必须赋予一个连接对象:
MyAdapter.SelectCommand.Connection = MyConn; 或
MyAdapter.UpdateCommand.Connection =Myconn; 或
MyAdapter.DeleteCommand.Connection = MyConn; 或
MyAdapter.InsertCommand.Connection =Myconn;
如果需要执行SQL语句,那么还必须给相应的CommandText 属性赋值。代码为:
MyAdapter.*Command.CommandText = SQL语句;
写这么多行代码似乎有些麻烦,如果你只是查询数据库,则可以在建立 DataAdapter实例时就完成上述工作。
OleDbDataAdapter MyAdapter = new OleDbDataAdapter(strSelect,objConnection);
<%@ Page Language="C#" Runat="Server"%>
<%@ Import Namespace="System.Data"%>
<%@ Import Namespace="System.Data.OleDb"%>
<script Language="C#" Runat="Server">
public void Page_Load(Object src,EventArgs e)
{
string
MyConnString="Provider=Microsoft.Jet.OLEDB.4.0;Data
Source="+Server.MapPath(".")+"\\DataBase\\db3.mdb;";
string strSel="select * from Score";
//建立一个DataSet 实例
DataSet ds=new DataSet();
OleDbConnection MyConn= new OleDbConnection(MyConnString);
OleDbDataAdapter MyAdapter = new OleDbDataAdapter(strSel,MyConn);
MyAdapter.Fill(ds,"Score");
dg1.DataSource=ds.Tables["Score"].DefaultView;
dg1.DataBind();
}
</script>
<asp:DataGrid id="dg1" runat="Server"
Headerstyle-BackColor="#aaaadd"
AlternatingItemstyle-BackColor="#eeeeee"
/>
将DataAdapter 于 DataSet 相联系的是 DataAdapter 对象的 Fill 方法。他有很多中用法: MyDataAdapter.Fill(DataSet) MyDataAdapter.Fill(DataSet,TableName)
MyDataAdapter.Fill(DataSet, StartRow , RowsCount, TableName)
DataSet 绑定至 DataGrid 控件显示:
1.dg1.DataSource= ds.Tables[“Score”].DefaultView;
dg1.DataBind();
2.dg1.DataSource=ds;
dg1.DataMember=”Score”;
dg1.DataBind();
提示: DataSet中的各种集合,访问子项有两种方法,一种是用子项的名,一种是用数字索引.比如要访问表”Score”,可以用: DataSet.Tables[0] 访问 (多张表依次类推)
2. 插入数据:
DataSet 的结构和数据库相似,所有插入数据实质上就是在DataSet 的数据表里插入一行(DataRow)
//新建一行
DataRow dr= ds.Tables[“Score”].NewRow();
dr. [“Name”] = “addme”;
dr. [“class”] =”201”;
ds.Tables[“Score”].Rows.Add(dr); //将新建的行加到DataTable 的DataRow集合中
这样对DataSet的操作仅仅是在DataSet中执行,并不影响数据库中的数据,要使用DataAdapter 的 Update 方法(有多种方法).
1. DataAdapter.Update(DataSet) ;
2. DataAdapter.Update(DataSet, TableName);
3.更新数据:
实际就是在DataSet 数据行上面直接修改数据
DataRow dr = ds .Tables[“Score”].Rows[0]; //取出第一行
dr. [“Name”] = “比尔”; //修改
dr. [“class”] =”201”;
如果要更新数据库,则再调用 Update 方法
4.删除数据:
找到相应的数据行,然后删除
DataRow dr =ds.Tables[“Score”].Row[0];
dr.Delete();
注意: DataAdapter 对象在数据发生改变时,并不能自动产生数据库系统所需的交易sql语句,
所有要建立一个CommandBuilder 对象 它能自动产生交易的sql语句.
OleDbCommandBuilder custcb = new OleDbCommandBuilder(MyAdapter);
5.DataSet 的其他特征
DataSet 、DataTable 和DataRow 都有一个十分有用的方法----RejectChanges,
它指操作对象拒绝已经发生的改变,将数据复原.该方法于AcceptChanges , HasErrors等属性连用非常有用.
If (DataSet.HasErrors) { DataSet.RejectChanges(); } else { DataSet.AcceptChanges();}
分享到:
相关推荐
第一步:hibernate.cfg.xml 加入: <property name="hibernate.proxool.pool_alias">dbpool</property> ...jdbc:microsoft:sqlserver://243.155.187.236:1433;DatabaseName=study </driver-url> <driver-
<property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/> <property name="url" value="jdbc:sqlserver://211.82.193.126;DataBaseName=study;"/> <property name="username" ...
### MyEclipse(Java)连接SQLServer 2008 R2 的详细步骤及常见问题解决方案 #### 一、背景介绍 在进行Java应用程序开发时,经常需要与数据库进行交互。MyEclipse作为一款功能强大的集成开发环境(IDE),支持多种...
本压缩包“SQL_Server_2000_study.rar”提供了关于SQL Server 2000的学习资料,包括PPT演示文稿、实例代码以及示例数据库,旨在帮助用户深入了解并掌握该数据库系统。 1. SQL Server 2000基础: SQL Server 2000的...
- 使用SQL Server Management Studio的数据库备份功能将数据库“Study”备份至之前创建的文件夹,并拷贝到U盘中备用。 #### 三、实验总结 通过本次实验,我们不仅学会了如何使用SQL Server 2012创建数据库和数据...
2. **SQLServer 2008 R2连接问题** - 连接失败的常见原因是服务器名称错误。通常,不要使用类似服务器完全限定域名的名称,而是使用"."或"local"作为服务器名称来代表本地服务器。 3. **SQLServer登录与权限设置**...
SQL SERVER项目案例<br>├─动物特性的面向对象描述<br>├─北大青鸟C语言在线<br>├─学员成绩管理<br>│ └─学员成绩管理<br>│ ├─PPT<br>│ └─Source<br>│ └─gradeMana<br>├─数据加密<br>│ └─数据...
Chapter 2 Planning the Installation and Installing SQL Server Chapter 3 SQL Server Management Studio Part II Transact-SQL Language 语言 Chapter 4 SQL Components Chapter 5 Data Definition Language ...
本代码使用的默认数据库环境是MS SQL Server, study_bak是从MS SQL Server中BACKUP出来的库文件。 在使用前请先RESTORE到study库中。 如果restore失败,可以用study.sql脚本创建所有表格与视图并自行添加数据。
《Self-study SQL - 21 Days》是一本专为初学者设计的SQL学习指南,旨在帮助读者在短短21天内迅速掌握SQL基础并提升至精通水平。SQL(Structured Query Language),即结构化查询语言,是管理和处理关系数据库的强大...
"sqlserver服务安装程序.rar"这个压缩包文件包含了安装SQL Server所需的一些核心组件,主要用于在计算机上部署SQL Server环境。让我们详细了解一下其中每个文件的作用: 1. **SQLEXPR_x64_CHS.exe**: 这是SQL ...
"SQLServer数据库导入Oracle详解" 在数据库管理中,数据迁移是一个非常重要的步骤,特别是在不同数据库管理系统之间,例如从SQL Server到Oracle。下面我们将详细介绍如何将SQL Server数据库导入到Oracle中。 首先...
此外,Sharding-JDBC还兼容各种主流数据库,如MySQL、Oracle、SQLServer等,并支持JPA、MyBatis等ORM框架,使得它具有极高的可扩展性和普适性。在“sharding-jdbc-study”项目中,我们可以看到与具体数据库的交互...
Ace your preparation for the skills measured by MCTS Exam 70-432—and on the job. Work at your own pace ... This official Microsoft study guide is designed to help you make the most of your study time.
SQL Server 数据库用户授权 SQL Server 数据库用户授权是指在 SQL Server 数据库中创建用户账户并赋予相应的权限,以便用户可以访问和管理数据库中的对象。本文将详细介绍如何使用 SQL 语句创建数据库用户,赋予...
其次,在SQL数据库中,创建一个新的数据库,名称为mystudy,用户名为mystudy1,密码为123456,并配置好数据库。 第三步骤是配置ODBC数据源,在控制面板中,管理工具中选择数据源,系统DNS,然后添加新的ODBC数据源...
serverTimezone=UTC"/> <property name="username" value="root"/> <property name="password" value="password"/> </bean> <bean id="transactionManager" class="org.springframework.jdbc.datasource....