个DataTable对象及DataView对象。DataSet主要用于管理存储在内存中的数据以及对数据的断开操作。
由于DataSet对象提供了一个离线的数据源,这样减轻了数据库以及网络的负担,在设计程序的时候可以将DataSet对象作为程序的数据源。
下面是一个利用Adapter对象填充数据到DataTable(或DataSet)并显示的例子,这个例子采用了页面和代码分离模式,前台代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="DataAdapter.aspx.cs" Inherits="DataAdapter" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>利用Adapter对象填充DataTable的例子</title> </head> <body> <form id="form1" runat="server"> <div> <table border="1" cellpadding="0" cellspacing="0"> <tr><td>编号</td><td>帐号</td><td>真实姓名</td><td>年龄</td><td>性别</td><td>手机</td><td>电话</td><td>电子邮件</td></tr> <% //在页面中调用后台代码,这样也能保证生成的代码不会位于<html></html>标记之外 ShowData(); %> </table> </div> </form> </body> </html>
相应的后台代码:
using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient; public partial class DataAdapter : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } //供前台页面调用的方法,这个方法必须是protected或者public protected void ShowData() { //实例化Connection对象 SqlConnection connection = new SqlConnection("Data Source=(local);Initial Catalog=AspNetStudy;Persist Security Info=True;User ID=sa;Password=sa"); //实例化Command对象 SqlCommand command = new SqlCommand("select * from UserInfo where sex=0", connection); SqlDataAdapter adapter = new SqlDataAdapter(command); /* 下面的被注释掉的代码与上面的代码是等效的 SqlDataAdapter adapter = new SqlDataAdapter("select * from UserInfo where sex=0", connection); */ DataTable data = new DataTable(); adapter.Fill(data); /* 下面的被注释掉语句与上面填充DataTable的效果是一样的,我更倾向于没有注释掉的部分 DataSet ds = new DataSet();//实例化DataSet adapter.Fill(ds, "UserInfo");//填充ds中的"UserInfo"表 DataTable data = ds.Tables["UserInfo"]; */ for (int i = 0; i < data.Rows.Count; i++) { Response.Write("<tr><td>" + data.Rows[i][ |