[求助]C# DataGrid绑定数据库并实现增删改怎么实现啊? DataGrid绑定数据库并实现增删改 有没有代码或例子让我观摩下呢?请大家帮帮我,不胜感激 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <%@ Page language="c#" Codebehind="DataGridEdit.aspx.cs" AutoEventWireup="false" Inherits="CommonFunction.数据绑定控件.DataGridEdit" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" ><HTML> <HEAD> <title>DataGridEdit</title> <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1"> <meta name="CODE_LANGUAGE" Content="C#"> <meta name="vs_defaultClientScript" content="JavaScript"> <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5"> </HEAD> <body MS_POSITIONING="GridLayout"> <form id="Form1" method="post" runat="server"> <h2 id="H21">实现DataGrid控件中的编辑更新</h2> <asp:DataGrid id="dgEdit" runat="server" BorderColor="#3366CC" BorderStyle="None" BorderWidth="1px" BackColor="White" CellPadding="4" AutoGenerateColumns="False" DataKeyField="EmployeeID" Width="320px"> <SelectedItemStyle Font-Bold="True" ForeColor="#CCFF99" BackColor="#009999"></SelectedItemStyle> <ItemStyle ForeColor="#003399" BackColor="White"></ItemStyle> <HeaderStyle Font-Bold="True" ForeColor="#CCCCFF" BackColor="#003399"></HeaderStyle> <FooterStyle ForeColor="#003399" BackColor="#99CCCC"></FooterStyle> <Columns> <asp:TemplateColumn HeaderText="LastName"> <ItemTemplate> <asp:Label runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.LastName") %>' ID="Label1" NAME="Label1"> </asp:Label> </ItemTemplate> </asp:TemplateColumn> <asp:TemplateColumn HeaderText="FirstName"> <ItemTemplate> <asp:Label runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.FirstName") %>' ID="Label2" NAME="Label2"> </asp:Label> </ItemTemplate> </asp:TemplateColumn> <asp:TemplateColumn HeaderText="City"> <ItemTemplate> <asp:Label runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.City") %>' ID="Label3" NAME="Label3"> </asp:Label> </ItemTemplate> <EditItemTemplate> <asp:TextBox runat="server" ID="txtCity" Text='<%# DataBinder.Eval(Container, "DataItem.City") %>'> </asp:TextBox> </EditItemTemplate> </asp:TemplateColumn> <asp:EditCommandColumn ButtonType="LinkButton" UpdateText="<img src=../../images/save.gif border=0 alt='保存'/>" CancelText="<img src=../../images/cancel.gif border=0 alt='取消'/>" EditText="<img src=../../images/edit.gif border=0 alt='编辑'/>"></asp:EditCommandColumn> </Columns> <PagerStyle HorizontalAlign="Left" ForeColor="#003399" BackColor="#99CCCC" Mode="NumericPages"></PagerStyle> </asp:DataGrid> </form> </body></HTML> 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 System.Data.SqlClient;using System.Configuration;namespace CommonFunction.数据绑定控件{ /// <summary> /// DataGridEdit 的摘要说明。 /// </summary> public class DataGridEdit : System.Web.UI.Page { protected System.Web.UI.WebControls.DataGrid dgEdit; private void Page_Load(object sender, System.EventArgs e) { //页面初试化时进行数据绑定 if(!IsPostBack) DataGridDataBind(); } private void DataGridDataBind() { //定义数据连接对象,其中数据库连接字符串是在Web.Config文件中定义的 SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionSqlServer"].ToString()); //创建数据适配器对象 SqlDataAdapter da = new SqlDataAdapter("select top 5 EmployeeID,LastName,FirstName,City from Employees",conn); //创建DataSet对象 DataSet ds = new DataSet(); try { //填充数据集 da.Fill(ds,"testTable"); //进行数据绑定 dgEdit.DataSource = ds.Tables["testTable"]; dgEdit.DataBind(); } catch(Exception error) { //输出异常信息 Response.Write(error.ToString()); } } #region Web 窗体设计器生成的代码 override protected void OnInit(EventArgs e) { // // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。 // InitializeComponent(); base.OnInit(e); } /// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() { this.dgEdit.CancelCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.dgEdit_CancelCommand); this.dgEdit.EditCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.dgEdit_EditCommand); this.dgEdit.UpdateCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.dgEdit_UpdateCommand); this.Load += new System.EventHandler(this.Page_Load); } #endregion private void dgEdit_CancelCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) { //设置DataGrid控件的编辑项的索引为-1,既取消编辑 dgEdit.EditItemIndex = -1; //数据绑定 DataGridDataBind(); } private void dgEdit_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) { //设置DataGrid控件的编辑项的索引为选择的当前项 dgEdit.EditItemIndex = e.Item.ItemIndex; //数据绑定 DataGridDataBind(); } private void dgEdit_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) { //取得编辑行的关键字段的值 int empID = (int)dgEdit.DataKeys[e.Item.ItemIndex]; //取得文本框中输入的内容 TextBox newCity = (TextBox)e.Item.FindControl("txtCity"); //定义SQL语句 string sqlCom = "update Employees set City='" + newCity.Text + "' where EmployeeID="+empID.ToString(); //定义数据连接对象,其中数据库连接字符串是在Web.Config文件中定义的 SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionSqlServer"].ToString()); //定义命令对象 SqlCommand cmd = new SqlCommand(sqlCom,conn); //打开数据连接 conn.Open(); try { //执行SQL命令 cmd.ExecuteNonQuery(); //取消编辑 dgEdit.EditItemIndex = -1; DataGridDataBind(); } catch(Exception err) { //输出异常信息 Response.Write(err.ToString()); } finally { //关闭连接对象 conn.Close(); } } }} 我要的不是ASP里面的~~~ 不过还是谢谢2楼的朋友3楼的代码 我正研究中 http://singlepine.cnblogs.com/articles/266538.html 请问有没有FRAMEWORK的DATAGRID例子啊,不是ASP。NET的 FROM窗口的属性问题! webbrowser 打开网页后,怎么获取session 求教:如何将richtextbox中的内容转换为字节数组?急急!! 如何封装这样的网络通讯接口? 一个简单的问题,我都不好意思问了 ODBC操作excel出现“参数不足,期待是1” 请各位大虾指点小弟,有什么好的C#的书,进阶级的!(入门级免) 什么样的流程图工具比较好用? 如何支持同一个Form中,两个treeview之间拖拉数据? string str="thank[afdfdfs]hello",我如何取得"[]"子串??? 问个用HttpWebRequest自动登录网站的问题 代码生成
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>DataGridEdit</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<h2 id="H21">实现DataGrid控件中的编辑更新</h2>
<asp:DataGrid id="dgEdit" runat="server" BorderColor="#3366CC" BorderStyle="None" BorderWidth="1px"
BackColor="White" CellPadding="4" AutoGenerateColumns="False" DataKeyField="EmployeeID" Width="320px">
<SelectedItemStyle Font-Bold="True" ForeColor="#CCFF99" BackColor="#009999"></SelectedItemStyle>
<ItemStyle ForeColor="#003399" BackColor="White"></ItemStyle>
<HeaderStyle Font-Bold="True" ForeColor="#CCCCFF" BackColor="#003399"></HeaderStyle>
<FooterStyle ForeColor="#003399" BackColor="#99CCCC"></FooterStyle>
<Columns>
<asp:TemplateColumn HeaderText="LastName">
<ItemTemplate>
<asp:Label runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.LastName") %>' ID="Label1" NAME="Label1">
</asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="FirstName">
<ItemTemplate>
<asp:Label runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.FirstName") %>' ID="Label2" NAME="Label2">
</asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="City">
<ItemTemplate>
<asp:Label runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.City") %>' ID="Label3" NAME="Label3">
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox runat="server" ID="txtCity" Text='<%# DataBinder.Eval(Container, "DataItem.City") %>'>
</asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:EditCommandColumn ButtonType="LinkButton" UpdateText="<img src=../../images/save.gif border=0 alt='保存'/>"
CancelText="<img src=../../images/cancel.gif border=0 alt='取消'/>" EditText="<img src=../../images/edit.gif border=0 alt='编辑'/>"></asp:EditCommandColumn>
</Columns>
<PagerStyle HorizontalAlign="Left" ForeColor="#003399" BackColor="#99CCCC" Mode="NumericPages"></PagerStyle>
</asp:DataGrid>
</form>
</body>
</HTML>
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 System.Data.SqlClient;
using System.Configuration;
namespace CommonFunction.数据绑定控件
{
/// <summary>
/// DataGridEdit 的摘要说明。
/// </summary>
public class DataGridEdit : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DataGrid dgEdit; private void Page_Load(object sender, System.EventArgs e)
{
//页面初试化时进行数据绑定
if(!IsPostBack)
DataGridDataBind();
}
private void DataGridDataBind()
{
//定义数据连接对象,其中数据库连接字符串是在Web.Config文件中定义的
SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionSqlServer"].ToString());
//创建数据适配器对象
SqlDataAdapter da = new SqlDataAdapter("select top 5 EmployeeID,LastName,FirstName,City from Employees",conn);
//创建DataSet对象
DataSet ds = new DataSet();
try
{
//填充数据集
da.Fill(ds,"testTable");
//进行数据绑定
dgEdit.DataSource = ds.Tables["testTable"];
dgEdit.DataBind();
}
catch(Exception error)
{
//输出异常信息
Response.Write(error.ToString());
}
} #region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.dgEdit.CancelCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.dgEdit_CancelCommand);
this.dgEdit.EditCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.dgEdit_EditCommand);
this.dgEdit.UpdateCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.dgEdit_UpdateCommand);
this.Load += new System.EventHandler(this.Page_Load); }
#endregion private void dgEdit_CancelCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
//设置DataGrid控件的编辑项的索引为-1,既取消编辑
dgEdit.EditItemIndex = -1;
//数据绑定
DataGridDataBind();
} private void dgEdit_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
//设置DataGrid控件的编辑项的索引为选择的当前项
dgEdit.EditItemIndex = e.Item.ItemIndex;
//数据绑定
DataGridDataBind();
} private void dgEdit_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
//取得编辑行的关键字段的值
int empID = (int)dgEdit.DataKeys[e.Item.ItemIndex];
//取得文本框中输入的内容
TextBox newCity = (TextBox)e.Item.FindControl("txtCity");
//定义SQL语句
string sqlCom = "update Employees set City='" + newCity.Text + "' where EmployeeID="+empID.ToString();
//定义数据连接对象,其中数据库连接字符串是在Web.Config文件中定义的
SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionSqlServer"].ToString());
//定义命令对象
SqlCommand cmd = new SqlCommand(sqlCom,conn);
//打开数据连接
conn.Open();
try
{
//执行SQL命令
cmd.ExecuteNonQuery();
//取消编辑
dgEdit.EditItemIndex = -1;
DataGridDataBind();
}
catch(Exception err)
{
//输出异常信息
Response.Write(err.ToString());
}
finally
{
//关闭连接对象
conn.Close();
}
}
}
}