1.使用Connection连接数据库的步骤:

  (1).添加命名空间 System.Data.SqlClient(注意:初学者经常会忘记)

  (2)定义连接字符串。连接SQL Server 数据库时:

  server=服务器名;database=数据库名;uid=用户名;pwd=密码;例如:要连接本机上的StudentManagement数据库,用户名为sa,密码为111

  string connString="server=.;database=StudentManagement;uid=sa;pwd=111;"

  (3).创建Connection对象:

  SqlConnection connStr=new SqlConnection(connSting);

  (4).打开数据库:

  conn.Open();

  (5).对数据库操作完毕后关闭数据库连接

  conn.Close();

  2.Command对象:

  (1).command对象可以用来对数据库发出具体的操作指令,例如对数据库的查询、增加、修改、删除

  (2).创建Command对象,并设置它的属性:

  SqlCommand command =new SqlCommand();

  command.Connection=connection;

  command.CommandText=sqlQuery(sqlQuery为查询语句);

  (3).Command对象的主要方法:

  ExecuteNonQuery:执行后不返回任何行,对于update、insert、delete语句,返回影响的行数对于其他类型的语句,返回值为-1

  ExecuteReader:执行查询语句,返回DataReader对象

  ExecuteScalar:执行查询,并返回查询结果的第一行第一列,忽略其他列或行

  ExecuteXmlreader:将CommandText发送到Connection并生成一个XmlReader

  3.DataReader对象:

  (1).DataReader对象可以从数据库中一只读、只进的方式查询数据,每次的操作只有一个记录保存在内存中

  (2).DataReader对象的主要方法:

  Read:读取下一条数据

  Close:关闭DataReader对象

  (3).使用DataReader提取数据的步骤:

  (a).建立与数据库的连接并打开

  (b).创建一个Command对象

  (c).从Command对象中创建DataReader对象

  (d).使用DataReader读取并显示

  可以使用一个循环利用Read方法便利数据库中行的信息,如果要获取该行中某列的值,只需要使用"["和"]"运算符就可以了

  (e).分别关闭DataReader对象和数据库的连接

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient; namespace ado.netDemo
{
class Program
{
static void Main(string[] args)
{
//定义连接字符串
string connStr = @"server=SUNNY\SQLEXPRESS;database=TestDB;UID=sa;PWD=123456";
//连接数据库
SqlConnection conn = new SqlConnection(connStr);
//SQL语句
string sql = "select * from tb_Students";
//string sql = "insert into tb_Students(SID, Name, Password, Sex, Age, Address, Phone, QQ) Values('20117750120','小鸟电动车','123','男',21,'HONGKONG','18736000000','1147016165')";
//string sql = "update tb_Students set SID='20117750119' where SID='20117750120'";
//string sql = "delete from tb_Students where SID='20117750101'";
//执行SQL语句
SqlCommand cmd = new SqlCommand(sql,conn); conn.Open(); SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())//read()一直读取下一个数据
{ Console.WriteLine(string.Format("{0}\t{1}\t{2}\t{3}", reader[],reader[], reader[], reader[]));
}
reader.Close();
//查询数据
#region
//ExecuteScalar执行sql查询语句的第一行第一列,忽略其他行其他列。
//object result = cmd.ExecuteScalar();
//Console.WriteLine("共查询到有:{0}行数据", result.ToString()); #endregion
//增加数据
#region
//int result = cmd.ExecuteNonQuery();
//if (result < 1)
//{
// Console.WriteLine("数据插入失败,请检查填写信息,重新操作");
//}
//else
//{
// Console.WriteLine("数据插入成功!");
//}
#endregion
//修改数据
#region
//int result = cmd.ExecuteNonQuery();
//if (result < 1)
//{
// Console.WriteLine("数据修改失败,请检查填写信息,重新操作");
//}
//else
//{
// Console.WriteLine("数据修改成功!");
//}
#endregion
//删除数据
#region
//int result = cmd.ExecuteNonQuery();
//if (result < 1)
//{
// Console.WriteLine("数据删除失败,请检查填写信息,重新操作");
// Console.WriteLine("{0}行收到影响", result);
//}
//else
//{
// Console.WriteLine("数据删除成功!");
// Console.WriteLine("{0}行收到影响", result);
//}
#endregion conn.Close();
Console.ReadKey(); }
}
}

(二)ADO.NET数据库访问技术:

  通过这几天的学习,下面来把有关数据适配器和数据集方面的知识点总结一下:

  一.DataSet 和DataTable:

  数据集在ADO.net中的对象是DataSet,DataSet由一个或多个DataTable组成

  1.DataTable:

  (1).DataTable是表格数据块在内存中的表示,DataTable对象由DataColumns集合以及DataRows集合组成。对数据库检索后,被取回的数据就存放在DataTable对象中

  (2).DataTable对象的主要的属性:

  CaseSensitive:表中的字符串是否区分大小写

  Columns:返回属于这个表的列集合

  DataSet:获得这个表的行集合

  TableName:获得或设置表的名称

  HasChanges:判断数据集是否更改了

  (3).dataTable对象的主要方法:

  Clear:清除DataTable内所有的行数

  NewRow:增加一行

  2、DataSet:数据装置

  (1).DataSet的主要属性:

  Table:可以访问DataSet中表的集合

  (2).DataSet对象的主要方法

  Clear:完全清除DataSet的数据

  Clone:创建与原DataSet具有相同结构和相同行的DataSet

  Copy:创建具有相同结构的新DataSet,但不包含任何行

  (3).填充DataSet数据集:使用数据适配器DataAdapter,DataAdapter对象的Fill()方法可以给DataSet填充数据,例如

  (Fill(参数1,参数2 )第一个参数指定要填充的DataSet,第二个参数是dataSet中要加载数据的Datatable名称)

  (4).使用dataAdapter对象填充DataSet数据库的步骤:

  (a).建立数据库的连接,并打开盖连接

  string connString="、、、";

  SqlConnection mySqlConnection=new SqlConnection(connString);

  mySqlConnection.Open();

  (b).定义要执行的SQl语句

  string sqlQuery="、、、、";

  (c).创建数据集DataSet对象

  DataSet ds=new DataSet();

  (d) .创建数据适配器DataAdapter

  sqlDataAdapter da=new sqlDataAdapter(sqlQuery,mySqlConnection);

  (e).使用DataAdapter对象的Fill()方法填充数据集

  a.Fill(ds,"Table");//DataSet可以被看作是一个虚拟的表或表的集合,这里被填充的表的名称在Fill方法中命名为Table

  (f).关闭数据库连接

  mySqlConnection.Close();

  注意:close与Dispose的区别:Close关闭以后还能打开;Dispose是直接销毁,不能再次使用

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Configuration;
using System.Data; namespace ado.netDemo1
{
public partial class Test1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//string connStr = ConfigurationManager.ConnectionStrings["connStr"].ToString();
//SqlConnection conn = new SqlConnection(connStr);
//conn.Open();
//string sql = "select * from tb_Students";
//SqlDataAdapter adapter = new SqlDataAdapter(sql, conn);
//DataSet dataset = new DataSet();
//adapter.Fill(dataset);
//conn.Close();
//GridView1.DataSource = dataset.Tables[0].ToString();
//GridView1.DataBind(); GridView1.DataSource = getResult();
this.GridView1.DataBind();
} //将数据库信息田中到DataSet的DataTable中
public DataSet getResult()
{
string connStr = ConfigurationManager.ConnectionStrings["connStr"].ToString();
SqlConnection conn = new SqlConnection(connStr);
conn.Open();
string sql = "select * from tb_Students";
//创建数据适配器
SqlDataAdapter adapter = new SqlDataAdapter(sql, conn);
//创建数据集对象
DataSet dataset = new DataSet();
//使用适配器对象Fill()方法填充DataSet数据集
adapter.Fill(dataset);
conn.Close();
return dataset;
}
}
}

  (3)访问DataSet数据集:

  (1).访问DataTable:当访问的数据被存放到数据集中后,可以用两种方式访问DataTable:按表名访问和按索引(索引从0开始)访问

  (2).访问行和列

  总结:希望通过小编写的 ADO.NET数据库访问技术的两种方法可以帮助各位网友们在做网站开发的时候,数据库连接时可以得到更好的解答。

【ADO.NET基础知识】SqlConnection、command、DataSet 、DataTable、dataAdapter的更多相关文章

  1. ADO.NET基础知识学习(SQLCOnnection&SQLCommand&SQLDataReader&SQLDataAdapter&DataSet)

    通过ADO.NET技术,我们可以高效的完成客户端同数据库之间的数据访问操作,便于我们在客户端程序简便高效的访问以及获取数据库中的有用数据,同时也可以对数据库中的数据进行更新,即可以完成客户端与数据库之 ...

  2. ADO.NET基础知识

    ADO.NET定义 ADO是ActiveX Data Objects的缩写,ADO.NET是数据库应用程序和数据源之间沟通的桥梁,主要提供一个面向对象的数据访问架构,用来开发数据库应用程序,就是一组类 ...

  3. ado.net中的 sqlconnection sqlcommand datareader dataset SqlDataAdapter之间的关系

    Connection: 和数据库交互,必须连接它.连接帮助指明数据库服务器.数据库名字.用户名.密码,和连接数据库所需要的其它参数.Connection对象会被Command对象使用,这样就能够知道是 ...

  4. ADO.NET基础巩固-----连接类和非连接类

          最近的一段时间自己的状态还是不错的,早上,跑步,上自习看书,下午宿舍里面编程实战,晚上要么练习代码,要么去打球(在不打就没机会了),生活还是挺丰富的. 关于C#的基础回顾就先到前面哪里,这 ...

  5. .Net Core 系列:2、ADO.Net 基础

    目录: 1.环境搭建 2.ADO.Net 基础 3.ASP.Net Core 基础 4.MD5.Sha256.AES 加密 5.实现登录注册功能 6.实现目录管理功能 7.实现文章发布.编辑.阅览和删 ...

  6. ADO.NET基础开发

    ADO.NET是微软新一代.NET数据库的访问架构,ADO是ActiveX Data Objects的缩写.ADO.NET是数据库应用程序和数据源之间沟通的桥梁,主要提供了一个面向对象的数据访问架构, ...

  7. ADO.NET基础03

    数据库和VS的连接,实现数据的同步,让用户的一切信息都可以在数据库中留下记录. ADO.NET基础      它是连接所有数据库的一种特殊的技术,提供对不同的数据库统一操作接口. 在VS中也可以添加数 ...

  8. ADO.NET基础01(ADO.NET组成,数据库的方式,SqlCommand,SqlDataReader)

    什么是ADO.NET: ADO.NET就是一组类库,这组类库可以让我们通过程序的方式访问数据库,就像System.IO下的类操作文件一样, System.Data.这组类是用来操作数据库(不光是MSS ...

  9. 如鹏网学习笔记(六)ADO.Net基础

    ADO.Net基础 一.ADO.Net简介 1,程序要通过SQL语句自动化的操作数据库,必须要用一个类库, 类库要提供execute("insert into ...")/exec ...

随机推荐

  1. Kth Minimum Clique_2019牛客暑期多校训练营(第二场)

    题目连接: https://ac.nowcoder.com/acm/contest/882/D Description Given a vertex-weighted graph with N ver ...

  2. CodeForces - 632E Thief in a Shop 完全背包

    632E:http://codeforces.com/problemset/problem/632/E 参考:https://blog.csdn.net/qq_21057881/article/det ...

  3. CodeForces - 697C-Lorenzo Von Matterhorn(有点像LCA,原创

    传送门: CodeForces - 697C 原创--原创--原创 第一次自己A了一道感觉有点难度的题: 题意:在一个类似于二叉树的图上,1 : u ,v,w 表示从u到v的所以路都加上w的费用: 2 ...

  4. ACdream1726-A Math game+(DFS+二分)+(DFS+前缀和)

    传送门 官方题解:http://acdream.info/topic?tid=4246 参考:https://www.cnblogs.com/nowandforever/p/4492428.html ...

  5. 一台Linux服务器可以负载多少个连接?

    首先我们来看如何标识一个TCP连接?系统是通过一个四元组来识别,(src_ip,src_port,dst_ip,dst_port)即源IP.源端口.目标IP.目标端口.比如我们有一台服务192.168 ...

  6. Docker详解(一)

    目录 Docker简介 Docker组成 永远的HelloWorld 序言:众所周知,近几年的互联网各项技术发展的如火如荼,敏捷开发模式越来越普及,"快"似乎成为了行业的标准,于是 ...

  7. Mysql的两种存储引擎以及区别

    一.Mysql的两种存储引擎 1.MyISAM: ①不支持事务,但是整个操作是原子性的(事务具备四种特性:原子性.一致性.隔离性.持久性) ②不支持外键,支持表锁,每次所住的是整张表     MyIS ...

  8. 小白专场-树的同构-c语言实现.md

    目录 一.题意理解 二.求解思路 2.1 二叉树表示 2.2 程序框架搭建 2.3 如何建二叉树 2.4 如何判别两二叉树同构 更新.更全的<数据结构与算法>的更新网站,更有python. ...

  9. kafka 主题管理

    对于 kafka 主题(topic)的管理(增删改查),使用最多的便是kafka自带的脚本. 创建主题 kafka提供了自带的 kafka-topics 脚本,用来帮助用户创建主题(topic). b ...

  10. RabbiMQ基础以及spring-boot-starter-amqp使用

    ​ RabbitMQ是一种基于amq协议的消息队列,本文主要记录一下rabbitmq的基础内容以及使用spring-boot-starter-amqp操作rabbitmq. 1,rabbitmq中的几 ...