博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ADO.NET 核心对象简介
阅读量:7093 次
发布时间:2019-06-28

本文共 2030 字,大约阅读时间需要 6 分钟。

ADO.NET

 

ADO.NET是.NET中一组用于和数据源进行交互的面向对象类库,提供了数据访问的高层接口。

ADO.NET类库在System.Data命名空间内,根据我们访问的不同数据库选择命名空间,System.Data.SqlClient。

ADO.NET类最重要的优点是支持数据库以断开连接的方式工作。

ADO.NET主要通过两个核心组件来完成对数据库的操作,分别是DataSet和.NET数据库提供程序。数据集,在命令空间:System.Data下。

前者是ADO.NET断开式结构的核心组件,后者是专门为直接访问数据库,对其进行快速的只进,只读访问数据等数据处理而设计的组件。

ADO.NET常用对象:

Connection  连接数据库的通道

Command  命令执行对象

DataReader  数据读取器(只读只进)

DataAdapter  数据适配器

DateSet  数据在内存中的表现形式,临时数据库,断开式操作。

 

SqlConnection conn = new SqlConnection();  //创建Connection连接数据库对象

conn.ConnectionString = "data sourse=.;initalial catalog=MySchool;integrated security=true;"  //连接字符串

 

SqlCommand cmd = new SqlCommand();  //创建Command命令执行对象

cmd.CommandText = "SELECT * FROM dbo.Student";  //SQL语句

cmd.Connection = conn;  //绑定连接

cmd.CommandType = CommandType.Text;  //它告诉.net接下来执行的是一个文本(text)、存储过程(StoredProcedure)还是表名称(TableDirect).

 

//传参sql语句

cmd.CommandText = "SELECT * FROM dbo.Student where UesrID=@ID";  //SQL语句

SqlParameter  para=new SqlParameter("@ID",SqlDbType.int,4);  //生成一个名为@Id的参数,必须以@开头表示是添加的参数,并设置其类型长度,类型,长度。与数据库中对应字段相同

para.Value=Id;  //给参数赋值

cmd.Parameters.Add(para);  //必须把参数变量添加到命令对象中去。

 

 

conn.Open();  //打开连接

 

int i = Covert.ToInt32(cmd.Executescalar())  //返回结果集中第一行的第一列,一般用于返回单个结果(一行一列)的时候使用,值有可能返回null。

 

int i = Covert.ToInt32(cmd.ExecuteNonQuery())  //返回受影响的行数,一般用于 增删改 语句。执行其他语句默认返回-1。

 

SqlDataReader reader= cmd.ExecuteReader();  //执行命令,返回DataReader对象

if(reader.HasRows)  //判断是否有结果返回

while (reader.Read())  //循环读取

{

//do something

}

conn.Close();  //关闭连接

reader.Close();  //关闭reader

 

SqlDataAdapter sda = new SqlDataAdapter(sql语句,conn)  //创建对象

DataSet ds = new Dataset()

sda.fill(ds."表名")

 

 

SqlParameter  para=new SqlParameter("@Id",SqlDbType.int,4);  //生成一个名字为@Id的参数,必须以@开头表示是添加的参数,并设置其类型长度,类型长度与数据库中对应字段相同

para.Value=Id;  //给参数赋值

cmd.Parameters.Add(para);  //把参数变量添加到命令对象中去。

 

一次添加多个参数

SqlParameter[]  para=new SqlParameter[] {new SqlParameter("@Id",SqlDbType.int,4){value = xxx},new SqlParameter("@Id",SqlDbType.int,4){value = xxx}};

cmd.Parameters.AddRange(para);

转载于:https://www.cnblogs.com/Aaxuan/p/6126414.html

你可能感兴趣的文章
解决tiny4412串口终端不能输入的问题
查看>>
FCN
查看>>
BloomFilter算法概述
查看>>
关于static 访问权限、继承、多态、内部类结合在一起时的使用方法
查看>>
HIMSS博览会首登中国 建言医卫IT新发展
查看>>
苹果将知名黑客Kristin Paget招致麾下
查看>>
【机器学习PAI实践七】文本分析算法实现新闻自动分类
查看>>
SACC 2013:大数据可视化应用及推荐
查看>>
这里有一份面筋请查收(七)
查看>>
在 Cocos2d-x 中使用 OpenSSL
查看>>
Python 进阶_OOP 面向对象编程_self 的实例绑定
查看>>
JAVA在win10上的安装环境配置
查看>>
闵春榕:PCIE SSD在数据库优化中的应用
查看>>
Easystack陈喜伦:OpenStack市场走强,聚集效应加剧
查看>>
《社交网站界面设计(原书第2版)》——2.5 严格 VS. 灵活的分类法
查看>>
数据仓库需要的不是退出历史舞台
查看>>
VMware表示,用户在尝试OpenStack之后纷纷决定放弃
查看>>
互联网金融促银行改革比拼大数据管理软实力
查看>>
牵手重庆达成多项合作 ARM持续完善产业布局
查看>>
浪潮与SUSE达成战略合作,共同推进开放云图生态
查看>>