用dataset更新數據庫

来源:互联网 发布:淘宝骂人店主 编辑:程序博客网 时间:2024/05/04 15:36

<%@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

 

原创粉丝点击