C# ADO.NET 连接数据库常用到的类及基本操作格式
一、ADO.NET是什么,有什么用
数据库访问技术
ado.net可让开发人员以一致的方式存取资料来源,
资料共用的消费者应用程序可使用ado.net 来连接至这些资料来源,并且撷取、处理及更新其中所含的资料。
二、链接数据库常用的类
Connection
—— 数据库连接类,和数据库交互,必须连接它。
连接帮助指明数据库服务器、数据库名字、用户名、密码,和连接数据库所需要的其它参数。
Connection对象会被Command对象使用,这样就能够知道是在哪个数据源上面执行命令。
Command
—— 数据库操作类, Command对象使用Connection对象来指出与哪个数据源进行连接
成功与数据建立连接后,就可以用Command对象来执行查询、修改、插入、删除等命令;
Command对象常用的方法有ExecuteReader()方法、ExecuteScalar()方法和ExecuteNonQuery()方法;
插入数据可用 ExecuteNonQuery()方法来执行插入命令。
DataReader
——读取一串数据。
DataReader对象允许开发人员获得从Command对象的SELECT语句得到的结果。
从DataReader返回的数据都是快速的且只是“向前”的数据流。
DataSet 对象
——数据在内存中的表示形式。
DataSet是在特定的场景下使用――帮助管理内存中的数据并支持对数据的断开操作的。
DataAdapter
某些时候开发人员使用的数据主要是只读的,并且开发人员很少需要将其改变至底层的数据源。
同样一些情况要求在内存中缓存数据,以此来减少并不改变的数据被数据库调用的次数。
DataAdapter通过断开模型来帮助开发人员方便的完成对以上情况的处理。
DataTable
DataTable 是一个数据网格控件。它可以被应用在 VB 和 ASP 上。它无须代码就可以简单的绑定数据库。它具有微软风格的用户界面。
三、连接数据库及基本操作格式
添加引用命名空间
连接字符串(定位数据库)
建立数据库连接( new 一个 connection 连接对象)
设置命令对象( Command对象使用Connection对象来指出与哪个数据源进行连接)
设置操作命令
打开数据库
执行操作命令
关闭数据库 //数据库只有一条对外连接通道,执行完命令一定要关上
例
//新建库 Data0216_5 create database Data0216_5 //用户表 create table users ( Ids int identity(1,1) primary key, //id号,自增 Username nvarchar(200), //用户名 [password] nvarchar(200), //密码 Nickname nvarchar(200), //昵称 Sex bit , //性别 Birthday datetime, //生日 Nation nvarchar(200), //名族 ) //向表中添加数据 insert into users values ('zhangsan','123','张三',1,'1999-1-1','N001'), ('lisi','123','李四',0,'1999-1-1','N002'), ('wangwu','123','王五',1,'1999-1-1','N003'), ('zhaoliu','123','赵六',0,'1999-1-1','N001'), ('tianqi','123','田七',1,'1999-1-1','N002') //民族表 create table usernation ( NationCode nvarchar(200) primary key, NationName nvarchar(200), ) insert into usernation values ('N001','汉族'), ('N002','壮族'), ('N003','满族'), ('N004','回族'), ('N005','苗族'), ('N006','维吾尔族'), ('N007','蒙古族') //建立外键关系 alter table users add constraint a_b foreign key (Nation) references usernation(NationCode)
连接数据库对新建表进行、增、删、改
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.SqlClient; //添加命名空间 namespace ConsoleApplication1 { class Program { static void Main(string[] args) { //连接字符串 string sql ="server=.;database=Data0216;user=sa;pwd=123;"; //数据库连接类 SqlConnection conn = new SqlConnection(sql); //数据库操作类 SqlCommand cmd = conn.CreateCommand(); //cmd.CommandText = "insert into Users values('zhaoliu','1234','赵六',1,'2004-4-4','N001');"; //增 //cmd.CommandText = "update Users set NickName = '小六子' where username = 'zhaoliu'"; //改 cmd.CommandText = "delete from Users where username='zhaoliu'";//删 conn.Open(); //打开数据库连接 cmd.ExecuteNonQuery(); //执行操作 conn.Close(); //关闭数据库连接 Console.ReadLine(); } } }