使用DataSet與DataAdapter對數據庫進行操作
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對數據庫進行操作的更多相关文章
- 在Android中afinal框架下實現sqlite數據庫版本升級的辦法
public abstract void onUpgrade(SQLiteDatabase db,int oldVersion,int new Version) 這個方法在實現時需要重寫. pub ...
- C#數據庫
一.連接數據庫 1.定義連接數據庫的字符串 string source = "server=(local); integrated security=SSPI; database=test& ...
- 一次 C# 查詢數據庫 算法優化的案例
最近有次在修改某段程式時,發現一段程式算法看起來簡單. 但背後因為多次查詢數據庫,導致效能問題. 這段程式主要是利用 EPPLUS 讀取 Excel 資料,檢查資料是否已存在數據庫中,若有就將已存在的 ...
- 數據庫ORACLE轉MYSQL存儲過程遇到的坑~(總結)
ORACLE數據庫轉MySQL數據庫遇到的坑 總結 最近在做Oracle轉mysql的工程,遇到的坑是真的多,尤其是存儲過程,以前都沒接觸過類似的知識,最近也差不多轉完了就總結一下.希望能幫到一些人( ...
- Scrapy——將數據保存到MySQL數據庫
Scrapy--將數據保存到MySQL數據庫 1. 在MySQL中創建數據庫表job_inf: 1 Create table job_inf( 2 id int(11) not null auto_i ...
- python連接mysql數據庫
第一步,安裝mysql數據庫. 這裏我安裝的是mariadb數據庫,版本5.5,並且配置好了字符集.此處不詳細敘述,相信大家沒有問題. 第二步,安裝mysql驅動. 首先說明一下有兩個主要的驅動: m ...
- PB C/S轉B/S ODBC方式連接數據庫
PB C/S轉B/S ODBC方式連接數據庫,DSN需要建為系統而不是使用者DSN,否則連不上數據庫.
- MVC+Ninject+三层架构+代码生成 -- 总结(一、數據庫)
一.數據表 是參照 別人的庫建表的 ,主鍵都是用int 自增,若是跨數據庫的話,建議使用GUID為主鍵.
- C#在sql中使用變量訪問Oracle數據庫
1.首先創建一個測試數據表 CREATE TABLE people ( SNO BYTE), SNAME BYTE), SSEX BYTE), SAGE number, SDEPT BYTE), BT ...
随机推荐
- HTTP Status 500 - Request processing failed; nested exception is org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
今天整合ssm框架 时 遇到的问题 困扰我好长时间 原因就是 mapper文件 没有被加载进来 但是 为什么没有被加载进来呢 因为中间的配置文件出了一些问题 网上大多数说法是 在pom ...
- CentOS 编译安装 Redis (实测 笔记 Centos 7.3 + redis 3.2.8)
环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G,双网卡) 系统版本:CentOS-7.0-1406-x86_64-DVD.iso 安装步骤: 1.准备 1.1 显示系统版 ...
- 使用自建Git服务器管理私有项目 Centos 7.3 + Git 2.11.0 + gitosis (实测 笔记)
环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G,双网卡) 系统版本:CentOS-7-x86_64-Minimal-1611.iso GIT服务器IP:192.168.1 ...
- Pinpoint在Win7下搭建
Pinpoint在Win7下搭建 注:原创作品,未经允许严禁转载 对于Pinpoint是什么这个问题,在此不做任何讨论,因此本篇文章适用人群为了解Pinpoint相关基础理论知识,需要进行Window ...
- async ,await 有图有真相
1.async返回的一定是promise对象 2.await确实可以同步:
- django 标签的使用
首先重建一个common的app 然后创建__init__使common成为一个包 注意templatetags 名字使固定的 并在下面创建一个名字为fitter的过滤器 注册过滤器app htm ...
- ubuntu14.04 安装lnmp + redis
1.更新源 apt-get install update 2.安装nginx : apt-get install nginx 配置nginx: ① cd /etc/sites-enabled/ ② v ...
- ABP入门系列(4)——创建应用服务
ABP入门系列目录--学习Abp框架之实操演练 一.解释下应用服务层 应用服务用于将领域(业务)逻辑暴露给展现层.展现层通过传入DTO(数据传输对象)参数来调用应用服务,而应用服务通过领域对象来执行相 ...
- [编译] 5、在Linux下搭建安卓APP的开发烧写环境(makefile版)—— 在Linux上用命令行+VIM开发安卓APP
星期三, 19. 九月 2018 02:19上午 - BEAUTIFULZZZZ 0)前言 本文不讨论用IDE和文本编辑器开发的优劣,是基于以下两点考虑去尝试用命令行编译安卓APP的: 了解安卓APP ...
- SecureCRT 5.2.2版本下载和注册码
Name: Apollo Interactive Company: Apollo Interactive Serial Number: 03-50-023223License Key: ABMVSR ...