DO.NET 由.Net Framework 数据提供程序和DataSet 两部分构成.

.NET FrameWork 是

Connection  连接对象

Command   命令对象

DataReader  阅读器对象

DataAdapter 适配器对象

四个核心对象构成。

使用是SqlServer数据库,所以,命令空间为

System.Data.Sqlclient

四个核心对象需加前缀

SqlConnection

SqlCommand

SqlDataReader

SqlDataAdapter

1、SqlConnection 是连接对象,创建应

用程序和数据库服务器之间的联接。

//连接字符串

string conString = “server=.;integrated security = sspi;database = MySchool”;

//创建连接

SqlConnection connection = new SqlConnection(conString);

//在应用程序中连接到数据库服务器。

方法:Open()打开连接

Close() 关闭连接

2、SqlCommand 命令对象,用于执行SQL语句并返回查询的结果集。

属性:

CommandText:要执行的SQL语句

Connection:连接对象

方法:

ExecuteScalar() ,查询聚合函数,返回单个值,返回类型为object.

ExecuteReader(),查询多行多列,返回一个结果集SqlDataReader对象。

ExecuteNonQuery() 用于执行增、删、改

等SQL语句,返回受影响的记录的条数。

返回类型为int

//示例

string selcmd = “select count(*) from userinfo”;

//创建命令对象

SqlCommand command = new SqlCommand(selcmd,connection);

//执行命令

object result = command.ExecuteScalar();

三种情况:

  • 查询单个值步骤

//1、连接字符串

string conString = “server=.;integrated security = sspi;database = MySchool”

//2、连接对象

SqlConnection connection = new SqlConnection(conString);

//3、打开连接

connection.Open();

//4、查询的SQL语句

string selcmd =string.Format(“select count(*)  from student where loginid=’{0}’”,userName);

//5、命令对象

SqlCommand command = new SqlC ommand(selcmd,connection);

//6、执行命令

int res = Convert.ToInt32(command.ExecuteScalar());

2.查询多行多列

//1、连接字符串

string conString = “server=.;integrated security = sspi;database = MySchool”

//2、连接对象

SqlConnection connection = new SqlConnection(conString);

//3、打开连接

connection.Open();

//4、查询的SQL语句

string selcmd = “select studentno,studentname,gradeid,phone from student”;

//5、命令对象

SqlCommand command = new SqlC ommand(selcmd,connection);

//6、执行命令,得到SqlDataReader对象

SqlDataReader reader = command.ExecuteReader();

while(reader.Read())

{

string no = reader[“StudentNo”].ToString();

string name = reader[“StudentName”].ToString();

Console.WriteLine(“{0}\t{1}”,no,name);

}

reader.Close();

connection.Close();

  • 执行增删改

//1、连接字符串

string conString = “server=.;integrated security = sspi;database = MySchool”

//2、连接对象

SqlConnection connection = new SqlConnection(conString);

//3、打开连接

connection.Open();

//4、查询的SQL语句

string selcmd = “insert into subject values('easyui’,30,3)”;

//5、命令对象

SqlCommand command = new SqlC ommand(selcmd,connection);

//6、执行命令,得到结果

int res = command.ExecuteNonQuery();

  • 查询数据集

//1、连接字符串

string conString = “server=.;integrated security = sspi;database = MySchool”

//2、连接对象

SqlConnection connection = new SqlConnection(conString);

//3、打开连接

connection.Open();

//4、查询的SQL语句

string selcmd = “insert into subject values('easyui’,30,3)”;

//5、命令对象

SqlCommand command = new SqlC ommand(selcmd,connection);

//6、适配器对象

SqlDataAdapter da = new SqlDataAdapter(command);

//7、数据集对象

DataSet ds = new DataSet();

//8、将数据填充到数据集

da.Fill(ds);

ADO.NET基础必背知识的更多相关文章

  1. 优秀后端架构师必会知识:史上最全MySQL大表优化方案总结

    本文原作者“ manong”,原创发表于segmentfault,原文链接:segmentfault.com/a/1190000006158186 1.引言   MySQL作为开源技术的代表作之一,是 ...

  2. ADO.NET基础开发

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

  3. (转)python资料汇总(建议收藏)零基础必看

    摘要:没料到在悟空问答的回答大受欢迎,为方便朋友,重新整理汇总,内容包括长期必备.入门教程.练手项目.学习视频. 一.长期必备. 1. StackOverflow,是疑难解答.bug排除必备网站,任何 ...

  4. ADO.NET基础03

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

  5. C语言必背18个经典程序

    C语言必背18个经典程序 1./*输出9*9口诀.共9行9列,i控制行,j控制列.*/ #include "stdio.h" main() {int i,j,result; for ...

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

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

  7. 有关ADO.NET基础中的基础的熟悉过程

    现在对于ADO.NET基础的理解与记忆并不严谨和完善 所以,只写一点关于自己的理解,嗯,一种去转换思维理解的方法吧,算是吧 希望各位前辈或者同学,积极指出其中的错误和偏差 个人对于刚接触的ADO.NE ...

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

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

  9. day 28 网络基础相关的知识

    1.网络基础相关的知识 架构 C/S 架构:  client 客户端  server服务器端 优势: 能充分发挥PC机的性能 B/S 架构: browser 浏览器 server服务器       隶 ...

随机推荐

  1. EntityFramework中使用sql语句

    https://blog.csdn.net/yangyangafan/article/details/77602133 EntityFramework操作数据库谜一般的方便还不用写数据库,但前提是很简 ...

  2. P1579

    AC: #include <bits/stdc++.h> using namespace std; #define rep(i, a, b) for(int i = a; i < b ...

  3. C语言:判断t所指字符串中的字母是否由连续递增字母组成。-判断一个输入的任何整数n,是否等于某个连续正整数序列之和。-将一副扑克牌编号为1到54,以某种方式洗牌,这种方式是将这副牌分成两半,然后将他们交叉,并始终保持编号1的牌在最上方。

    //判断t所指字符串中的字母是否由连续递增字母组成. #include <stdio.h> #include <string.h> void NONO(); int fun( ...

  4. php 单机redis 常用命令

    一.Redis连接与认证 //连接参数:ip.端口.连接超时时间,连接成功返回true,否则返回false $ret = $redis->connect('127.0.0.1', 6379, 3 ...

  5. 【代码学习】PYTHON字典(Dictionary)

    一.什么是字典 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key->value)对用(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中,格式如下 d ...

  6. 【转载】IntelliJ IDEA配置JUnit进行单元测试

    前提条件 安装JDK,并配置好环境变量 工程已解决JUnit依赖关系(pom.xml) IDEA中JUnit配置 IDEA自带一个JUnit插件,打开Settings窗口搜索junit,如图:   图 ...

  7. Java面向对象编程 -1.6

    引用传递与垃圾产生分析 经过了一系列的分析之后已经确认,所有的引用传递的本质就是一场堆内存的调戏游戏.如果对于引用传递如果处理不当那么也会造成垃圾的产生, 那么本次将针对于垃圾产生的原因进行简单分析. ...

  8. 02-12Android学习进度报告十二

    今天学习了ListView的焦点问题,基本了解了ListView的使用内容. 首先可以为抢占了控件的组件设置:android:focusable="false" 只需为抢占了Lis ...

  9. Nginx 反向代理报400错误解决方法!

    如果后端真是的服务器设置有类似防盗链或者根据http请求头中的host字段来进行路由或判断功能的话,如果反向代理层的nginx不重写请求头中的host字段,将会导致请求失败,报400错误,解决办法: ...

  10. 移动端 safari苹果手机对大额数字自动变成电话号码

    1.苹果手机safari浏览器,用<meta name="format-detection" content="telephone=no">解决.缺 ...