对数据库的访问时各种数据库应用程序开发的核心技术,.NET框架中提出的ADO.NET技术为应用程序的开发提供了一致的接口,增强了程序的可移植性和可扩展性。

a:使用链接对象Connection连接数据源

链接对象的作用是在应用程序与制定的数据库之间建立一种链接,这是访问数据库的第一步:核心代码

using System.Data; //引入包含基本数据访问类的ADO.NET基本命名空间 第一步简称  应用命名空间。

using System.Data.SqlClient ; //引入包含SQL Server数据库提供给程序的命名空间。

SqlConnection myschool = new SqlConnection(); //定义并实例化一个Connection对象。

myschool.ConnectionString  = “Server = 数据库服务器名字;DataBase 数据名; Uid = 用户名;pwd = 密码;” //使用SQLServer 用户登录验证方式链接数据库

myschool . open();//根据链接字符串,打开指定的数据库;另外对于windows 验证链接数据库,链接数据库的字符串如下:myschool .ConnectionString  = "Data Source = 数据库服务器名字(学校的‘.’)" ;initial Catalog = 要链接的数据库名字; user Id = sa ; pwd  = bdqn" ;  //如果没有密码可以省略

当数据库使用完毕后要及时关闭数据库的链接,即myschool.close();

b:操纵数据库需要使用SQL语句或存储过程,而ADO.NET中command 对象就可以实现对数据库的操纵了 。

例如:string sqlstr = "";// 引号内为SQL 语句或存储过程 这一步也就是如何操纵数据库包括通过command 的方法对数据库进行 增 删 改 查。

SqlCommand my = new SqlCommand(sqlstr,myconn);//定义并实例化一个command 对象

my.ExecuteReader();//调用Command对象的方法操纵数据库

my.Connection = myconn ;//将先前打开数据库的myconn对象付给my对象的Connection

my.CommandText = strsql;//将要执行的SQL语句或存储过程赋给my对象的ConnandText属性

c: 下面说一下Command 的主要方法 也是对数据库经行操作的几个方法

ExecuteNonQuery();用于执行InSERT,Delete, Update  等无需返回记录的SQL语句,但它会返回执行操作后数据库受影响的行数。 即应用于增删改 的方法。

ExecuteScalar(); 用于执行SQL语句,他会返回结果中首行首列的值,比较适合执行诸如聚合函数Count(),类的语句。

d:使用数据读取器对象DataReader读取数据,  Command对象在执行ExecuteReader() 方法后吗,再返回记录的同时,将产生一数据个读取对象DataReader来指向所返回的记录集,利用DataReader 就可以读取返回的记录。

DataReader 对象的一个重要方法是Read() ,该方法使得指针向前移动一次,并读取改行记录,即逐行读取。

注意:利用DataReader只能依次向前读取而不能修改数据库,并且Read()会返回一个布尔类型的值表明它是否读取到记录,读取到返回true 否则false

核心代码:SqlDataReader dr ;// 定义一个数据读取对象dr = my.ExecuteReader();//调用Command 的方法执行sql语句,并返回数据读取对象dr

if(dr.Read())//

{

//读取到如果  就执行的语句

}else

{

//没有读取到数据执行的语句

}

e:另外  数集对象DataSet和数据适配器对象DataAdapter 访问数据库。

DataSet 和DataReader 相似 ,只不过DataSet需要通过数据适配器的对象DataAdaper来实现和这两个对象的联系。

核心代码如下  ;

DataSet ds = new DataSet() ;// 定义并实例化  ,SqlDataAdapter adapt = new SqlDataAdapter(sqlStr,myconn) ;//实例化一个适配器的对象adapt

ADO.NET 访问数据库的更多相关文章

  1. ado无法访问数据库问题

    现象:以ADO方式访问数据库的C++程序,在一台计算机上能访问成功,在另一台计算机上却访问不成功,报告不能连接错误,并且这两台计算机都装有ado. 原因:ado版本不对 解决方案:下载KB983246 ...

  2. 使用 ado.net访问数据库

    一.ADO.NET :用于连接数据库的技术   1.ADO.NET分为两大组件    DataSet:数据集    .NET FRAMWORK :用于连接到数据库,发送命令,检索结果   2.ADO. ...

  3. 使用ADO.NET 访问数据库

    一.ADO.NET :用于连接数据库的技术 1.ADO.NET分为两大组件 DataSet:数据集 .NET FRAMWORK :用于连接到数据库,发送命令,检索结果 2.ADO.NET四大核心对象 ...

  4. C#使用ADO.NET访问数据库(一)

    博主好久没更新博客了,最近有点忙(打麻将0.0..),今天更新一篇C#的,我还是想坚持更新博客,分享一下自己的心得,闲话少说,开始正题~~ ADO.NET概述:ADO.NET的作用在于他是客户端访问服 ...

  5. ADO.NET访问数据库

    1:ADO.NET数据库的方法和技术 2:ADO.NET的主要组成: 1>DataSet(数据集)-----独立于数据间的数据访问 2>.NETFramework(数据提供程序)----- ...

  6. 第十三章 使用ADO.NET访问数据库

    一,什么是ADO.NET ADO.NET 是一种以面向对象的设计方法构建的数据访问和操作的类库,它建立在.NET平台上,以便于操作各种各样的数据源.这些数据源可以是数据库, 也可以是文本文件 ,EXC ...

  7. 使用ADO.NET访问数据库

    第一种连接数据库的方法:可以使用.ET Framework提供程序的sqlConnection对象,使用无参数的构造函数创建Connection对象,代码如下: string strcon = &qu ...

  8. C++版本 ORM 访问数据库之ODB 的Window环境编译(一)

    先简单说说我为什么要编译一个ORM访问数据库的版本, 以前在做C#访问数据库时候, 直接以orm方式访问数据库, 代码写起来简单,  不用写各种复杂的sql语句, 直接有orm框架生成, 后来转到C+ ...

  9. ADO.NET 连接方式和非链接方式访问数据库

    一.//连接方式访问数据库的主要步骤(利用DataReader对象实现数据库连接模式) 1.创建连接对象(连接字符串) SqlConnection con = new SqlConnection(Co ...

随机推荐

  1. hdu 3839 Ancient Messages (dfs )

    题目大意:给出一幅画,找出里面的象形文字. 要你翻译这幅画,把象形文字按字典序输出. 思路:象形文字有一些特点,分别有0个圈.1个圈.2个圈...5个圈.然后dfs或者bfs,就像油井问题一样,找出在 ...

  2. svn更新路径,解决办法详细步骤,eclipse里面的更新方法,svn废弃位置,Windows环境,svn服务器地址换了,如何更新本地工作目录

    svn更新路径,解决办法详细步骤,eclipse里面的更新方法,svn废弃位置,Windows环境,svn服务器地址换了,如何更新本地工作目录 Windows下,svn服务器IP本来是内网一台服务器上 ...

  3. linux系统一键安装phpstudy的lnmp环境

    phpStudy for Linux 支持Apache/Nginx/Tengine/Lighttpd, 支持php5.2/5.3/5.4/5.5切换 已经在centos-6.5,debian-7.4. ...

  4. 我的Android第二章

    前言 之前有很多人遇到了关于内部类的问题[主要在android的学习之中会大量的使用到],内部类是什么,内部类怎么定义,内部类的分类,内部类的好处,内部类如何访问,这里我们来结合代码简单的理解一下 1 ...

  5. thinkphp相关总结

    1.model层验证多个字段唯一性 protected $_validate = array( array('appid,awardid', '', '不能重复添加', self::MUST_VALI ...

  6. wcscpy_s与wcsncpy

    今天运行以下代码时一直出错 void Foo(const wchar_t* lpch, int len) { ... wchar_t *str = ]; wcscpy_s(str, len, lpch ...

  7. 更新maven库

    删除所在本地仓库的文件夹,例如: 然后,重新下载一个jar包,放到工程的文件夹,注意名字要不同,否则maven库不予更新,替换完成后,点击工程,maven,update project即可,再次查看M ...

  8. intel82599在centos6.5下编译安装

    .intel驱动下载地址:https://sourceforge.net/projects/e1000/files/ixgbe%20stable/ .编译安装步骤 yum install kernel ...

  9. ImageLoader图片加载

    http://blog.csdn.net/liu1164316159/article/details/38728259       转载请注明http://write.blog.csdn.net/po ...

  10. .NET蓝牙开源库:32feet.NET

    在用C#调用蓝牙编程一文中我留个小悬念就是:InTheHand.Net.Personal.dll是怎么来的?这篇文章来解答这个问题,InTheHand.Net.Personal.dll就是来源于今天要 ...