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 }