create table demo
(
id_user int ,
name_user varchar(30)
)
CREATE PROCEDURE Adddemo
(
@id_user int ,
@name_user varchar(30)
)
AS
INSERT INTO
demo (id_user,name_user)
VALUES
( @id_user, @name_user)
GO
CREATE PROCEDURE Deletedemo
(
@id_user int
)
AS
DELETE
demo
WHERE
id_user= @id_user
GO
CREATE PROCEDURE Updatedemo
(
@id_user int,
@name_user nvarchar(30)
)
AS
UPDATE
demo
SET
name_user=@name_user
WHERE
id_user = @id_user
IF @@ROWCOUNT > 0
-- This statement is used to update the DataSet if changes are done on the updated record (identities, timestamps or triggers )
SELECT
id_user,name_user
FROM
demo
WHERE
id_user = @id_user
GO
(
id_user int ,
name_user varchar(30)
)
CREATE PROCEDURE Adddemo
(
@id_user int ,
@name_user varchar(30)
)
AS
INSERT INTO
demo (id_user,name_user)
VALUES
( @id_user, @name_user)
GO
CREATE PROCEDURE Deletedemo
(
@id_user int
)
AS
DELETE
demo
WHERE
id_user= @id_user
GO
CREATE PROCEDURE Updatedemo
(
@id_user int,
@name_user nvarchar(30)
)
AS
UPDATE
demo
SET
name_user=@name_user
WHERE
id_user = @id_user
IF @@ROWCOUNT > 0
-- This statement is used to update the DataSet if changes are done on the updated record (identities, timestamps or triggers )
SELECT
id_user,name_user
FROM
demo
WHERE
id_user = @id_user
GO
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using Microsoft.Practices.EnterpriseLibrary.Data;
using Microsoft.Practices.EnterpriseLibrary.Data.Sql;
namespace WebApplication12
{
/// <summary>
/// WebForm1 的摘要说明。
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DataGrid DataGrid1;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if (!this.IsPostBack)
{
bind_data();
}
}
private void bind_data()
{
Microsoft.Practices.EnterpriseLibrary.Data.Database db;
db = Microsoft.Practices.EnterpriseLibrary.Data.DatabaseFactory.CreateDatabase();
DataSet ds= db.ExecuteDataSet(System.Data .CommandType.Text,"Select * from demo");
this.DataGrid1 .DataSource=ds.Tables[0];
this.DataGrid1.DataBind ();
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.DataGrid1.EditCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGrid1_EditCommand);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
public void DataGrid1_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
this.DataGrid1 .EditItemIndex=e.Item .ItemIndex ;
bind_data();
}
public void Establish_Commands(Database db,DataSet productsDataSet)
{
DBCommandWrapper insertCommandWrapper = db.GetStoredProcCommandWrapper("Adddemo");
insertCommandWrapper.AddInParameter("@id_user", DbType.Int32, "id_user", DataRowVersion.Current);
insertCommandWrapper.AddInParameter("@name_user", DbType.String, "name_user", DataRowVersion.Current);
DBCommandWrapper deleteCommandWrapper = db.GetStoredProcCommandWrapper("Deletedemo");
deleteCommandWrapper.AddInParameter("@id_user", DbType.Int32, "id_user", DataRowVersion.Current);
DBCommandWrapper updateCommandWrapper = db.GetStoredProcCommandWrapper("Updatedemo");
updateCommandWrapper.AddInParameter("@id_user", DbType.Int32, "id_user", DataRowVersion.Current);
updateCommandWrapper.AddInParameter("@name_user", DbType.String, "name_user", DataRowVersion.Current);
int rowsAffected = db.UpdateDataSet(productsDataSet, "demo", insertCommandWrapper, updateCommandWrapper,
deleteCommandWrapper, UpdateBehavior.Standard);
}
public void delete (object sender, System.EventArgs e)
{
foreach (DataGridItem item in this.DataGrid1.Items)
{
CheckBox del=((CheckBox)item.Cells[3].FindControl("del")) ;
if (del.Checked ==true)
{
this.Response .Write ("<script>alert('"+this.DataGrid1.DataKeys[item.ItemIndex]+"')</script>");
Database db = DatabaseFactory.CreateDatabase();
DataSet productsDataSet = new DataSet();
string sqlCommand = "Select * " +
"From demo";
DBCommandWrapper dbCommandWrapper = db.GetSqlStringCommandWrapper(sqlCommand);
string productsTable = "demo";
db.LoadDataSet(dbCommandWrapper, productsDataSet, productsTable);
DataTable table = productsDataSet.Tables[productsTable];
DataColumn[] keys = new DataColumn[1];
keys[0]=table.Columns["id_user"] ;
table.PrimaryKey=keys;
DataRow dr=table.Rows.Find (this.DataGrid1.DataKeys[item.ItemIndex]);
dr.Delete ();
Establish_Commands(db,productsDataSet);
}
}
bind_data();
}
public void add_new (object src,DataGridCommandEventArgs e)
{
if(e.CommandName=="add")
{
Database db = DatabaseFactory.CreateDatabase();
DataSet productsDataSet = new DataSet();
string sqlCommand = "Select * " +
"From demo";
DBCommandWrapper dbCommandWrapper = db.GetSqlStringCommandWrapper(sqlCommand);
string productsTable = "demo";
db.LoadDataSet(dbCommandWrapper, productsDataSet, productsTable);
DataTable table = productsDataSet.Tables[productsTable];
string id=((TextBox)e.Item.Cells[2].FindControl("add_id")).Text;
string temp =((TextBox)e.Item.Cells[2].FindControl("Textbox1")).Text;
DataRow addedRow = table.Rows.Add(new object[] {id,temp});
Establish_Commands(db,productsDataSet);
bind_data();
}
}
}
}
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using Microsoft.Practices.EnterpriseLibrary.Data;
using Microsoft.Practices.EnterpriseLibrary.Data.Sql;
namespace WebApplication12
{
/// <summary>
/// WebForm1 的摘要说明。
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DataGrid DataGrid1;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if (!this.IsPostBack)
{
bind_data();
}
}
private void bind_data()
{
Microsoft.Practices.EnterpriseLibrary.Data.Database db;
db = Microsoft.Practices.EnterpriseLibrary.Data.DatabaseFactory.CreateDatabase();
DataSet ds= db.ExecuteDataSet(System.Data .CommandType.Text,"Select * from demo");
this.DataGrid1 .DataSource=ds.Tables[0];
this.DataGrid1.DataBind ();
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.DataGrid1.EditCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGrid1_EditCommand);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
public void DataGrid1_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
this.DataGrid1 .EditItemIndex=e.Item .ItemIndex ;
bind_data();
}
public void Establish_Commands(Database db,DataSet productsDataSet)
{
DBCommandWrapper insertCommandWrapper = db.GetStoredProcCommandWrapper("Adddemo");
insertCommandWrapper.AddInParameter("@id_user", DbType.Int32, "id_user", DataRowVersion.Current);
insertCommandWrapper.AddInParameter("@name_user", DbType.String, "name_user", DataRowVersion.Current);
DBCommandWrapper deleteCommandWrapper = db.GetStoredProcCommandWrapper("Deletedemo");
deleteCommandWrapper.AddInParameter("@id_user", DbType.Int32, "id_user", DataRowVersion.Current);
DBCommandWrapper updateCommandWrapper = db.GetStoredProcCommandWrapper("Updatedemo");
updateCommandWrapper.AddInParameter("@id_user", DbType.Int32, "id_user", DataRowVersion.Current);
updateCommandWrapper.AddInParameter("@name_user", DbType.String, "name_user", DataRowVersion.Current);
int rowsAffected = db.UpdateDataSet(productsDataSet, "demo", insertCommandWrapper, updateCommandWrapper,
deleteCommandWrapper, UpdateBehavior.Standard);
}
public void delete (object sender, System.EventArgs e)
{
foreach (DataGridItem item in this.DataGrid1.Items)
{
CheckBox del=((CheckBox)item.Cells[3].FindControl("del")) ;
if (del.Checked ==true)
{
this.Response .Write ("<script>alert('"+this.DataGrid1.DataKeys[item.ItemIndex]+"')</script>");
Database db = DatabaseFactory.CreateDatabase();
DataSet productsDataSet = new DataSet();
string sqlCommand = "Select * " +
"From demo";
DBCommandWrapper dbCommandWrapper = db.GetSqlStringCommandWrapper(sqlCommand);
string productsTable = "demo";
db.LoadDataSet(dbCommandWrapper, productsDataSet, productsTable);
DataTable table = productsDataSet.Tables[productsTable];
DataColumn[] keys = new DataColumn[1];
keys[0]=table.Columns["id_user"] ;
table.PrimaryKey=keys;
DataRow dr=table.Rows.Find (this.DataGrid1.DataKeys[item.ItemIndex]);
dr.Delete ();
Establish_Commands(db,productsDataSet);
}
}
bind_data();
}
public void add_new (object src,DataGridCommandEventArgs e)
{
if(e.CommandName=="add")
{
Database db = DatabaseFactory.CreateDatabase();
DataSet productsDataSet = new DataSet();
string sqlCommand = "Select * " +
"From demo";
DBCommandWrapper dbCommandWrapper = db.GetSqlStringCommandWrapper(sqlCommand);
string productsTable = "demo";
db.LoadDataSet(dbCommandWrapper, productsDataSet, productsTable);
DataTable table = productsDataSet.Tables[productsTable];
string id=((TextBox)e.Item.Cells[2].FindControl("add_id")).Text;
string temp =((TextBox)e.Item.Cells[2].FindControl("Textbox1")).Text;
DataRow addedRow = table.Rows.Add(new object[] {id,temp});
Establish_Commands(db,productsDataSet);
bind_data();
}
}
}
}
<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="WebApplication12.WebForm1" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>WebForm1</title>
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<meta content="C#" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
<script>
</script>
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<FONT face="宋体"></FONT>
<asp:datagrid id="DataGrid1" style="Z-INDEX: 101; LEFT: 24px; POSITION: absolute; TOP: 8px" runat="server"
DataKeyField="id_user" AutoGenerateColumns="False" BorderColor="#3366CC" BorderStyle="None"
BorderWidth="1px" BackColor="White" CellPadding="4" Width="592px" Height="64px" ShowFooter="True"
OnItemCommand="add_new">
<FooterStyle ForeColor="#003399" BackColor="#99CCCC"></FooterStyle>
<SelectedItemStyle Font-Bold="True" ForeColor="#CCFF99" BackColor="#009999"></SelectedItemStyle>
<ItemStyle ForeColor="#003399" BackColor="White"></ItemStyle>
<HeaderStyle Font-Bold="True" ForeColor="#CCCCFF" BackColor="#003399"></HeaderStyle>
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<%#DataBinder.Eval(Container.DataItem,"id_user")%>
</ItemTemplate>
<FooterTemplate>
<asp:TextBox ID="add_id" Runat="server"></asp:TextBox>
</FooterTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn>
<ItemTemplate>
<%#DataBinder.Eval(Container.DataItem,"name_user")%>
</ItemTemplate>
<FooterTemplate>
<asp:TextBox ID="Textbox1" Runat="server"></asp:TextBox>
</FooterTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn>
<ItemTemplate>
<asp:Button ID="edit" Runat="server" Text="编辑" CommandArgument=""></asp:Button>
</ItemTemplate>
<FooterTemplate>
<asp:Button ID="add_data" Runat="server" Text="添加" CommandName="add"></asp:Button>
</FooterTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="删除">
<ItemTemplate>
<asp:CheckBox ID="del" Runat="server"></asp:CheckBox>
</ItemTemplate>
<FooterTemplate>
<asp:Button ID="delall" Runat="server" Text="删除所选" OnClick="delete"></asp:Button>
</FooterTemplate>
</asp:TemplateColumn>
</Columns>
<PagerStyle HorizontalAlign="Left" ForeColor="#003399" BackColor="#99CCCC" Mode="NumericPages"></PagerStyle>
</asp:datagrid></form>
</body>
</HTML>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>WebForm1</title>
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<meta content="C#" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
<script>
</script>
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<FONT face="宋体"></FONT>
<asp:datagrid id="DataGrid1" style="Z-INDEX: 101; LEFT: 24px; POSITION: absolute; TOP: 8px" runat="server"
DataKeyField="id_user" AutoGenerateColumns="False" BorderColor="#3366CC" BorderStyle="None"
BorderWidth="1px" BackColor="White" CellPadding="4" Width="592px" Height="64px" ShowFooter="True"
OnItemCommand="add_new">
<FooterStyle ForeColor="#003399" BackColor="#99CCCC"></FooterStyle>
<SelectedItemStyle Font-Bold="True" ForeColor="#CCFF99" BackColor="#009999"></SelectedItemStyle>
<ItemStyle ForeColor="#003399" BackColor="White"></ItemStyle>
<HeaderStyle Font-Bold="True" ForeColor="#CCCCFF" BackColor="#003399"></HeaderStyle>
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<%#DataBinder.Eval(Container.DataItem,"id_user")%>
</ItemTemplate>
<FooterTemplate>
<asp:TextBox ID="add_id" Runat="server"></asp:TextBox>
</FooterTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn>
<ItemTemplate>
<%#DataBinder.Eval(Container.DataItem,"name_user")%>
</ItemTemplate>
<FooterTemplate>
<asp:TextBox ID="Textbox1" Runat="server"></asp:TextBox>
</FooterTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn>
<ItemTemplate>
<asp:Button ID="edit" Runat="server" Text="编辑" CommandArgument=""></asp:Button>
</ItemTemplate>
<FooterTemplate>
<asp:Button ID="add_data" Runat="server" Text="添加" CommandName="add"></asp:Button>
</FooterTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="删除">
<ItemTemplate>
<asp:CheckBox ID="del" Runat="server"></asp:CheckBox>
</ItemTemplate>
<FooterTemplate>
<asp:Button ID="delall" Runat="server" Text="删除所选" OnClick="delete"></asp:Button>
</FooterTemplate>
</asp:TemplateColumn>
</Columns>
<PagerStyle HorizontalAlign="Left" ForeColor="#003399" BackColor="#99CCCC" Mode="NumericPages"></PagerStyle>
</asp:datagrid></form>
</body>
</HTML>
效果如下