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[0],reader[1], reader[2], reader[3]));}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);//}#endregionconn.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是直接销毁,不能再次使用

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Web;
 5 using System.Web.UI;
 6 using System.Web.UI.WebControls;
 7 using System.Data.SqlClient;
 8 using System.Configuration;
 9 using System.Data;
10
11 namespace ado.netDemo1
12 {
13     public partial class Test1 : System.Web.UI.Page
14     {
15         protected void Page_Load(object sender, EventArgs e)
16         {
17             //string connStr = ConfigurationManager.ConnectionStrings["connStr"].ToString();
18             //SqlConnection conn = new SqlConnection(connStr);
19             //conn.Open();
20             //string sql = "select * from tb_Students";
21             //SqlDataAdapter adapter = new SqlDataAdapter(sql, conn);
22             //DataSet dataset = new DataSet();
23             //adapter.Fill(dataset);
24             //conn.Close();
25             //GridView1.DataSource = dataset.Tables[0].ToString();
26             //GridView1.DataBind();
27
28
29             GridView1.DataSource = getResult();
30             this.GridView1.DataBind();
31         }
32
33         //将数据库信息田中到DataSet的DataTable中
34         public DataSet getResult()
35         {
36             string connStr = ConfigurationManager.ConnectionStrings["connStr"].ToString();
37             SqlConnection conn = new SqlConnection(connStr);
38             conn.Open();
39             string sql = "select * from tb_Students";
40             //创建数据适配器
41             SqlDataAdapter adapter = new SqlDataAdapter(sql, conn);
42             //创建数据集对象
43             DataSet dataset = new DataSet();
44             //使用适配器对象Fill()方法填充DataSet数据集
45             adapter.Fill(dataset);
46             conn.Close();
47             return dataset;
48         }
49     }
50 }

  (3)访问DataSet数据集:

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

  (2).访问行和列

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

转载于:https://www.cnblogs.com/888888CN/p/7115276.html

【ADO.NET基础知识】SqlConnection、command、DataSet 、DataTable、dataAdapter相关推荐

  1. ADO.NET 基础知识

    1.与ODBC,OLE DB.ADO 可访问非关系DB多种接口,可访问关系型数据库. 2.ODBC提供了一组对数据库访问的标准API(应用程序编程接口),处理底层数据,让高层不用例会那种数据库接口.O ...

  2. 基础知识 -- 问答

    01.Main函数是什么?在程序中使用Main函数有什么需要注意的地方? Q:程序的入口函数!函数名字不能改变:一个程序中有且只有一个Main函数. 02.CLR是什么?程序集是什么?当运行一个程序集 ...

  3. 十四个关于ASP.NET基础知识问答(C#版)

    本文转自:乐猪网 十四个关于ASP.NET基础知识问答(C#版) 这是一些ASP.NET很基础的东西,希望对ASP.NET爱好者特别是刚刚入门的朋友有所帮助虽然示例代码是C#.NET,但是不影响VB. ...

  4. Linq的简介和基础知识学习

    学习LINQ之前,我们要知道LINQ是干什么,解决什么问题的,怎样学习? 一.LINQ简介 1.什么是LINQ? 什么是LINQ?LINQ中文翻译为语言集成查询(Language Integrated ...

  5. Apache Spark基础知识

    我的spark学习笔记,基于Spark 2.4.0 目录 一.简介 二.RDD编程 1 RDD介绍 2 RDD操作 2.0 读操作 2.1 常用Tramsformation算子 2.2 常用Actio ...

  6. 那些值得回味的MySQL的基础知识

    那些值得回味的MySQL的基础知识 MySQL零碎知识点整理 题记: 在如今甚是流行的MySQL中有些基础的知识却是我们日常工作中处理问题容易忘却的一部分,所以不能忘了本,那么我们现在就去回忆那些曾经 ...

  7. Spark基础知识解答

    Spark基础知识解答 一. Spark基础知识 1. Spark是什么? UCBerkeley AMPlab所开源的类HadoopMapReduce的通用的并行计算框架. Spark基于mapred ...

  8. Quartz.NET基础知识概述

    Quartz.NET是什么 由于我现在使用的Quartz.NET2.2版本,相对2.x变化不大,主要是相对于1.x更新了很多东西,如下基础知识摘录网络. Quartz.NET是一个开源的作业调度框架, ...

  9. WCF基础知识问与答

    学习WCF已有近两年的时间,其间又翻译了Juval的大作<Programming WCF Services>,我仍然觉得WCF还有更多的内容值得探索与挖掘.学得越多,反而越发觉得自己所知太 ...

最新文章

  1. pycharm中import呈现灰色原因
  2. 51Nod 1298 圆与三角形相交 计算几何
  3. OpenCASCADE:拓扑 API之特征
  4. IBASE category 01 component hierarchy
  5. 幸福框架:模式驱动开发
  6. 3条原则,16个小点,帮你写出一个优秀的对外接口!
  7. .net 下载文件几种方式
  8. 大数据安全的需求有哪些
  9. [数据结构]P2.1 二叉搜索树
  10. 卡巴斯基授权key导入方式方法及其导入key基本原理
  11. informatic 使用注意事项
  12. java springboot activemq 邮件短信微服务,解决国际化服务的国内外兼容性问题,含各服务商调研情况...
  13. 算法是如何体现价值的
  14. Docker 网络之bridge外部世界如何访问容器
  15. 宽带怎么连接路由器?
  16. 【MOOC】计算机网络与通信技术笔记(北交)(3)数据链路层
  17. 如何测试一个一次性水杯
  18. C++实现多态的条件
  19. 基于C++的K-means聚类算法实现
  20. review 9.29 viv 逃命 递归数列

热门文章

  1. 如何让Spring MVC显示自定义的404 Not Found页面
  2. c 是泛型程序设计语言,c ++中的“泛型编程”是什么意思?
  3. java源码导入eclipse_如何导入外部的源码到eclipse中
  4. 第一次参加学校的ACM比赛所学及感想
  5. redis存储新闻列表_Redis对象——集合(Set)
  6. linux 后端的进程,linux后台启动进程
  7. git fock的子项目从上游仓库(源项目)同步更新
  8. linux tree命令源码,[转帖]linux tree命令--显示目录的树形结构
  9. linux搜索指定文件夹里文件是否存在,Linux文件操作之文件查询与搜索命令详解...
  10. 6 计算机应用技,2019年10月自考计算机应用技术习题及答案6