使用DataSet與DataAdapter對數據庫進行操作

1.定義連接字符串

1 var source = "server=(local); integrated security=SSPI; database=test";
2 var conn = new SqlConnection(source);

2.構架Tables

Tables的構架是由Columns支撐的,即定義一張表需要說明清楚這張表包含有哪些列,這些列的屬性是什麼?例如定義一張Users表,則需要說明Users表包含的列(Id,Name,Age),以及列的屬性,如Id為主鍵,是int型,不能為空等等。

Tables對象由DataTable類聲明;

Columns對象由DataColumn聲明;

DataTable.Columns中的Add()方法提供了向Datatable添加列的方法;

1 DataTable Users = new DataTable("Users");
2 Users.Columns.Add(new DataColumn("Id", typeof(int)));
3 Users.Columns.Add(new DataColumn("Name", typeof(string)));
4 Users.Columns.Add(new DataColumn("Age", typeof(int)));
5 Users.PrimaryKey = new DataColumn[] {Users.Columns["Id"]};

第五行聲明主鍵為Id列;

3.構建DataSet

1 DataSet ds = new DataSet("Users");
2 ds.Tables.Add(Users);

4.填充DataSet對象

1 SqlDataAdapter da = new SqlDataAdapter(“SELECT * FROM _Users”, conn);
2 da.Fill(ds, "Users");

聲明名為“UserSet”的DataSet對象ds;

使用SqlDataAdapter(數據適配器)讀取數據;

使用SqlDataAdapter的Fill()方法將數據填充至ds中的Table中,並將Table命名為“Users”;

 

現在只需要對DataSet進行操作然後更新到數據庫便可完成數據操作。

5.將DataSet更新到數據庫

1 SqlCommandBuilder thisBuilder = new SqlCommandBuilder(da);
2 da.Update(ds, "Users");

二、數據操作

1.INSERT

1 Users.Rows.Add(new object[] { user.Id, user.Name, user.UserName, user.Password, user.Score });

2.UPDATE

1 foreach (DataRow row in Users.Rows)
2 {
3    if ("Amily" == (string)row["Name"])
4    {
5       row["Age"] = 15;
6    }
7 }   

3.DELETE

1 foreach (DataRow row in Users.Rows)
2 {
3    if (“Bob” == (string)row[2])
4    { 
5         row.Delete();
6    }
7 }

 

转载于:https://www.cnblogs.com/Yuzex96ch/p/9546931.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值