<%@import namespace="System.Data"%>
<%@import namespace="System.Data.SqlClient"%>
<script language="c#" runat="server">
public string connstr = "server=(local);database=czbase;user=jackey;pwd=chenzhao";
public string sql = "select * from test";
private void up_date(int ids,string names){
SqlConnection conn = new SqlConnection(connstr);
SqlDataAdapter ada=new SqlDataAdapter(sql,conn);//建立一个DataAdapter对象
SqlCommandBuilder cb = new SqlCommandBuilder(ada);//这里的CommandBuilder对象一定不要忘了,一般就是写在DataAdapter定义的后面
DataSet ds=new DataSet();//建立DataSet对象
conn.Open();//打开连接
ada.Fill(ds,"mems");//填充DataSet
conn.Close();//注意及时关闭连接
DataTable dt=ds.Tables["mems"];//建立一个DataTable对象,方便操作
dt.PrimaryKey=new DataColumn[]{dt.Columns["id"]};//建立一个主键 同樣數據庫里也要設置主鍵
DataRow dr=dt.Rows.Find(ids);//根据参数查找到需要修改的行
dr["name"]=names;//对需要修改的记录赋新值
ada.Update(ds,"mems");//用DataAdapter的Update()方法进行数据库的更新
}
private void b1_Click(object sender, System.EventArgs e)
{
if (Page.IsValid)
{
int ids = Int32.Parse(idst.Text);//取得要修改的行的id值,并转换成int类型
string names = namest.Text;//取得新值
up_date(ids, names);//调用我们定义的方法处理
lb1.Text = "ok!";
}
}
private void page_load(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(connstr);
SqlDataAdapter da = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
da.Fill(ds, "test");
mygrid.DataSource = ds.Tables[0];
mygrid.DataBind();
}
</script>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>用dataset更新记录</title>
</head>
<body>
<asp:Label id="lb1" runat="server"/>
<form id="Form1" runat="server">
<asp:TextBox id="idst" runat="server"/>
<asp:RequiredFieldValidator id="rfv1" ControlToValidate="idst" ErrorMessage="error!" runat="server"/>
<asp:TextBox id="namest" runat="server"/>
<asp:RequiredFieldValidator id="rfv2" ControlToValidate="namest" ErrorMessage="error!" runat="server"/>
<asp:Button id="b1" Text="here!!" OnClick="b1_Click" runat="server"/>
<asp:DataGrid ID="mygrid" runat="server"></asp:DataGrid>
</form>
</body>
</html>
SQL
-----------------------------------------------
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[test]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[test]
GO
CREATE TABLE [dbo].[test] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[name] [varchar] (10) COLLATE Chinese_Taiwan_Stroke_CI_AS NULL ,
[number] [int] NULL ,
[gender] [bit] NULL
) ON [PRIMARY]
GO