一.ADO.NET :用于连接数据库的技术

1.ADO.NET分为两大组件

DataSet:数据集

.NET FRAMWORK :用于连接到数据库,发送命令,检索结果

2.ADO.NET四大核心对象
Connection
Command
DataAdapter
DataReader

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

1.首先导入命名空间System.Data.SqlClient

2.创建连接字符串

String constr="Data Source=.;Initial Catalog=SchoolDB;User=sa;Password=.";

如果没有密码password参数可以省略

3.创建SqlConnection连接对象

SqlConnection con=new SqlConnection(constr);

4.打开数据库连接

con.Open();

在使用数据库之前要保证数据库连接是打开的

con.Close();

使用完数据库之后要关闭连接,释放资源

三.捕获异常

 try{
//将可能会发生异常的代码放入到try中 }catch(异常类型)
//如果try块发生异常,并且异常类型和catch块所捕获的异常类型相匹配,那么会执行catch
{ }finally{
//无论任何情况都会走到finally块
}

捕获异常可以将异常捕获到,而不会导致程序的停止

四.向数据库发送命令

1.创建SQL语句

String sql="select count(*) from Student Where StudentName='"+username+"' and Password='"+Password+"'";

2.使用Command对象发送SQL命令

SqlCommand com=new SqlCommand(sql,con);

3.接收命令执行结果

int count=(int)com.ExecuteScalar();
ExecuteNonQuery()          执行不返回行的语句,如UPDATE等
ExecuteReader() 返回DataReader对象
ExecuteScalar() 返回单个值,如执行带COUNT(*)的SQL语句

4.登录案例

 public bool ValidateUser() {
bool falg=true;
String constr = "Data Source=.;Initial Catalog=SchoolDB;User=sa;Password=.";
SqlConnection con = new SqlConnection(constr);
try
{
//打开连接
con.Open();
Console.WriteLine("请输入用户名:");
string username=Console.ReadLine();
Console.WriteLine("请输入密码:");
string password = Console.ReadLine();
//1.编写SQL
string sql = "select count(*) from Student where StudentName='"+username+"' and LoginPwd='"+password+"'";
//2.创建Command对象
SqlCommand com = new SqlCommand(sql,con);
int count=(int)com.ExecuteScalar();
if (count > 0)
{
}
else {
falg = false;
}
}
catch (Exception e)
{
Console.WriteLine(e); }
finally {
con.Close();
}
return falg;
}

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

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

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

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

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

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

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

  4. ADO.NET 访问数据库

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

  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. 如何在 CentOS 7 / RHEL 7 终端服务器上安装 KVM

    如何在 CnetOS 7 或 RHEL 7(Red Hat 企业版 Linux)服务器上安装和配置 KVM(基于内核的虚拟机)?如何在 CentOS 7 上设置 KVM 并使用云镜像 / cloud- ...

  2. firewall-cmd命令

    firewalld 基本操作 安装firewalld # yum install firewalld firewall-config firewalld启动,停止,开机启动与否,查看状态 # syst ...

  3. c语言double类型的输入

    double输入用 %lf ,而不能用 %f 今天在使用double类型输入时先用了 scanf("%lf", &a),结果以%f输出的时候都是0,以%g,%e输出似乎是最 ...

  4. js文本复制插件&vue

    /* HTML: * <a href="javascript:;" class="copy" data-clipboard-text="copy ...

  5. pikachu-暴力破解漏洞解析

    本篇blog导航 ~暴力破解&暴力破解漏洞概述 ~基于表单的暴力破解实验 ~暴力破解的绕过和防范(验证码&Token)     ~验证码的基础知识     ~验证码绕过(on clie ...

  6. 1Python学习CentOS 7 Linux环境搭建

    鉴于python3目前已成流行之势,而各发行版Linux依然是自带python2.x,笔者尝试在centos7下,部署Python3.x与2.x共存环境 本文参考博主良哥95网址https://blo ...

  7. 二次开发的Selenium Demo版本

    文件名你们自己命名就好,至于为什么要重写强制位移的函数呢,是因为Mac上Selenium不支持拖拽,只能这样做了,4个文件--------------------------------------- ...

  8. 802.11有线等效加密WEP

    有线等效加密(WEP)标准是802.11无线安全早期的解决方案,WEP并不安全. 既然WEP并不安全,为什么还要学习WEP呢? WEP简单,相比后续出现的加密协议,它不要求有多么强大的计算能力.一些老 ...

  9. centos5,6 系统启动流程

    linux内核特点: 支持模块化:模块文件的名字以.ko(kernel object)结尾 支持内核运行时,动态加载和卸载模块文件. linux内核组成部分: 核心文件:/boot/vmlinuz-V ...

  10. 重新安装python后,原来在虚拟环境里的django项目启动报错:dyld: Library not loaded: @executable_path/../.Python Referenced from: /Users/mac/.virtualenvs/WYGBlog-env/bin/python Reason: image not found

    因为当你创建一个虚拟环境的时候,一些软链接创建到原来的python上. 当用Homebrew更新python后,原来软连接对应的python已经不存在了. 因此需要把软链接指向新的python. 解决 ...