1.定義連接字符串

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

2.構架Tables

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

Tables對象由DataTable類聲明;

Columns對象由DataColumn聲明;

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

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

第五行聲明主鍵為Id列;

3.構建DataSet

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

4.填充DataSet對象

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

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

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

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

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

5.將DataSet更新到數據庫

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

二、數據操作

1.INSERT

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

2.UPDATE

 foreach (DataRow row in Users.Rows)
{
if ("Amily" == (string)row["Name"])
{
row["Age"] = ;
}
}

3.DELETE

 foreach (DataRow row in Users.Rows)
{
if (“Bob” == (string)row[])
{
row.Delete();
}
}

使用DataSet與DataAdapter對數據庫進行操作的更多相关文章

  1. 在Android中afinal框架下實現sqlite數據庫版本升級的辦法

    public abstract void onUpgrade(SQLiteDatabase db,int oldVersion,int new Version) 這個方法在實現時需要重寫.   pub ...

  2. C#數據庫

    一.連接數據庫 1.定義連接數據庫的字符串 string source = "server=(local); integrated security=SSPI; database=test& ...

  3. 一次 C# 查詢數據庫 算法優化的案例

    最近有次在修改某段程式時,發現一段程式算法看起來簡單. 但背後因為多次查詢數據庫,導致效能問題. 這段程式主要是利用 EPPLUS 讀取 Excel 資料,檢查資料是否已存在數據庫中,若有就將已存在的 ...

  4. 數據庫ORACLE轉MYSQL存儲過程遇到的坑~(總結)

    ORACLE數據庫轉MySQL數據庫遇到的坑 總結 最近在做Oracle轉mysql的工程,遇到的坑是真的多,尤其是存儲過程,以前都沒接觸過類似的知識,最近也差不多轉完了就總結一下.希望能幫到一些人( ...

  5. Scrapy——將數據保存到MySQL數據庫

    Scrapy--將數據保存到MySQL數據庫 1. 在MySQL中創建數據庫表job_inf: 1 Create table job_inf( 2 id int(11) not null auto_i ...

  6. python連接mysql數據庫

    第一步,安裝mysql數據庫. 這裏我安裝的是mariadb數據庫,版本5.5,並且配置好了字符集.此處不詳細敘述,相信大家沒有問題. 第二步,安裝mysql驅動. 首先說明一下有兩個主要的驅動: m ...

  7. PB C/S轉B/S ODBC方式連接數據庫

    PB C/S轉B/S ODBC方式連接數據庫,DSN需要建為系統而不是使用者DSN,否則連不上數據庫.

  8. MVC+Ninject+三层架构+代码生成 -- 总结(一、數據庫)

    一.數據表 是參照 別人的庫建表的 ,主鍵都是用int 自增,若是跨數據庫的話,建議使用GUID為主鍵.

  9. C#在sql中使用變量訪問Oracle數據庫

    1.首先創建一個測試數據表 CREATE TABLE people ( SNO BYTE), SNAME BYTE), SSEX BYTE), SAGE number, SDEPT BYTE), BT ...

随机推荐

  1. [LeetCode] Shifting Letters 漂移字母

    We have a string S of lowercase letters, and an integer array shifts. Call the shift of a letter, th ...

  2. [LeetCode] Positions of Large Groups 大群组的位置

    In a string S of lowercase letters, these letters form consecutive groups of the same character. For ...

  3. Visual Studio(VS)秘钥集合

    Visual Studio 2019 Pro :NYWVH-HT4XC-R2WYW-9Y3CM-X4V3Y

  4. 33 ArcToolBox学习系列之数据管理工具箱——投影与变换(Projections and Transformations)未完待续……

    工具箱位置 打开ArcToolBox,找到工具集Projections and Transformations,位置如下:ArcToolbox--Data Management Tools--Proj ...

  5. C语言复习2_运算符

    今天复习一下C语言的运算符 1.赋值运算符 单等号 = 顺序是:从右往左 2.复合运算符 #include <stdio.h> #include <stdlib.h> int ...

  6. Where is the Marble? (寻找大理石上的数字)

    (先上题目) (题目描述)Raju and Meena love to play with Marbles. They have got a lot of marbles with numbers w ...

  7. 使用SIP Servlet为Java EE添加语音功能

    会话发起协议(Session Initiation Protocol,SIP)是一种信号传输协议,用于建立.修改和终止两个端点之间的会话.SIP 可用于建立 两方呼叫.多方呼叫,或者甚至 Intern ...

  8. [Swift]LeetCode154. 寻找旋转排序数组中的最小值 II | Find Minimum in Rotated Sorted Array II

    Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand. (i.e. ...

  9. [Swift]LeetCode229. 求众数 II | Majority Element II

    Given an integer array of size n, find all elements that appear more than ⌊ n/3 ⌋ times. Note: The a ...

  10. [Swift]LeetCode803. 打砖块 | Bricks Falling When Hit

    We have a grid of 1s and 0s; the 1s in a cell represent bricks.  A brick will not drop if and only i ...