接上例:
http://blog.youkuaiyun.com/kunshan_shenbin/archive/2008/09/24/2973073.aspx
提供测试用SQL文:
测试过程中发现,.XSD文件名为DataSet是非常危险的。本次修改文件名为:CustomersDataSet.xsd。
自动生成的并不能实现我们想要实现的所有功能,我们需要自己创建类来实现不能实现的功能。
.net的partial关键字可以帮助我们实现这个愿望。
创建CustomersDataSet.cs,代码如下:
在测试页面上再放置一个文本域和一个按钮。

后台测试代码如下:
http://blog.youkuaiyun.com/kunshan_shenbin/archive/2008/09/24/2973073.aspx
提供测试用SQL文:
- if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[P29_CUSTOMERS]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
- drop table [dbo].[P29_CUSTOMERS]
- GO
- CREATE TABLE [dbo].[P29_CUSTOMERS] (
- [ID] [bigint] NOT NULL ,
- [NAME] [varchar] (15) COLLATE Japanese_CI_AS NULL ,
- [AGE] [int] NULL
- ) ON [PRIMARY]
- GO
自动生成的并不能实现我们想要实现的所有功能,我们需要自己创建类来实现不能实现的功能。
.net的partial关键字可以帮助我们实现这个愿望。
创建CustomersDataSet.cs,代码如下:
- using System;
- using System.Data;
- using System.Data.SqlClient;
- using System.ComponentModel;
- namespace CustomersDataSetTableAdapters
- {
- public partial class P29_CUSTOMERSTableAdapter
- {
- [DataObjectMethod(DataObjectMethodType.Select)]
- public CustomersDataSet.P29_CUSTOMERSDataTable getDataByTop(int n)
- {
- string query = string.Format("select top {0} * from P29_CUSTOMERS", n);
- SqlDataAdapter sqlda = new SqlDataAdapter(query, this.Connection);
- CustomersDataSet.P29_CUSTOMERSDataTable table = new CustomersDataSet.P29_CUSTOMERSDataTable();
- sqlda.Fill(table);
- return table;
- }
- }
- }
后台测试代码如下:
- using System;
- using System.Data;
- using System.Configuration;
- 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;
- public partial class _Default : System.Web.UI.Page
- {
- protected void Page_Load(object sender, EventArgs e)
- {
- }
- protected void Button1_Click(object sender, EventArgs e)
- {
- CustomersDataSetTableAdapters.P29_CUSTOMERSTableAdapter p29 = new CustomersDataSetTableAdapters.P29_CUSTOMERSTableAdapter();
- int max_id = p29.GetData().Count;
- p29.Insert(max_id + 1, "ShenBin", 28);
- GridView1.DataSourceID = "";
- GridView1.DataSource = p29.GetData();
- GridView1.DataBind();
- }
- protected void Button2_Click(object sender, EventArgs e)
- {
- CustomersDataSetTableAdapters.P29_CUSTOMERSTableAdapter p29 = new CustomersDataSetTableAdapters.P29_CUSTOMERSTableAdapter();
- string num = TextBox1.Text;
- if (num.Equals("")) num = "10000";
- int n = Convert.ToInt16(num);
- GridView1.DataSourceID = "";
- GridView1.DataSource = p29.getDataByTop(n);
- GridView1.DataBind();
- }
- }