使用ADO.NET访问、查询和操作数据库
ADO.ENT的主要组件
提供两个组件,用来访问和处理数据:.NET Framework 数据程序和DataSet(数据集)
.NET Framework:是专门为数据处理及快速地只进,只读访问数据而设计的组件。使用它可以连接数据源,执行命令和检索结果,直接对数据进行操作 。
DataSet:是专门为独立于任何数据源的数据访问而设计的。使用它,可以不必直接和数据源打交道,大批量地操作数据,也可以将数据绑定在控件上 。
.NET Framework 数据提供程序
.NET Framework 用于SQL Server的数据提供程序:提供对Microsoft SQL Server数据的访问。使用System.Data.SqlClient 命名空间
.NET Framework 用于OLE DB 的数据提供程序:提供对OLE DB 公开的数据源中数据的访问。使用System.Data.OleDb命名空间
.NET Framework 用于ODBC 的数据提供程序 :提供使用ODBC 公开的数据源中数据的访问。使用System.Data.Odbc命名空间
1.string sqlcon="Data Source=.;Initial Calalog=MySchool;User ID=sa;Pwd=.";
Connection:打开数据库连接
程序与数据库沟通的桥梁
SqlConnection con=new SqlConnection(sqlcon);
try
{
//可能发生异常的代码
con.Open();
}
catch(Exception ex)
{
//捕获异常
Console.WriteLine(ex);
}
finally
{
con.Close();
//永远都会被执行
}
Command:向数据库发送命令,提交SQL命令并从数据源中返回结果
string sql="select count(*) from Student where StudentNo='"+username+"' and LoginPwd='"+password+"'";
//向数据库发送一条SQL语句
SqlCommand command=new SqlCommand(sql,con);
//结果
int count=(int)command.ExecuteScalar();
if(count>0)
{
Console.WriteLine("登录成功");
}else
{
Console.WriteLine("没有此用户");
}
2.StringBuilder类: 用来定义可变字符串
StringBuilder sb = new StringBuilder("");
//追加字符串
sb.Append("World");
sb.Append("!");
//W2orld
sb.Insert(2, "2");
//原字符串:Wo2rld! 截取之后:W2rld!
sb.Remove(1, 2);
//ToString()
Console.WriteLine(sb.ToString());
查询学生记录数
//打开数据库连接
con.Open();
//使用StringBuilder追加SQL语句
StringBuilder sb = new StringBuilder();
sb.Append("select ");
sb.Append(" Count(*) ");
sb.Append(" from ");
sb.Append("[Student]");
Console.WriteLine(sb.ToString());
//创建一个SqlCommand对象
SqlCommand com = new SqlCommand(sb.ToString(),con);
Console.WriteLine((int)com.ExecuteScalar());
DataReader:从数据源中检索只读、只进的数据流,每次读取一行数据
StringBuilder sb = new StringBuilder();
sb.AppendLine("select");
sb.AppendLine("[StudentNo]");
sb.AppendLine(",[StudentName]");
sb.AppendLine("from");
sb.AppendLine("[Student]");
SqlCommand com = new SqlCommand(sb.ToString(), con);
//从数据源中检索只读、只进的数据流
return com.ExecuteReader();
SqlDataReader reader=GetStudentInfo();
while (reader.Read())
{
Console.WriteLine("{0}\t{1}",reader["StudentNo"],reader["StudentName"]);
}
reader.Close();
ExecuteNonQuery():
StringBuilder sb = new StringBuilder();
sb.AppendLine("Insert into");
sb.AppendLine("[Grade]([GradeName])");
sb.AppendLine("Values('" + gradeName + "')");
//3.创建一个SqlCommand
SqlCommand com = new SqlCommand(sb.ToString(),con);
//4.返回执行结果
return com.ExecuteNonQuery();
Student stu = new Student();
Console.WriteLine("请输入年级名称:");
string gradename = Console.ReadLine();
int count = stu.AddGrade(gradename);
if (count > 0)
{
Console.WriteLine("success!");
}
else
{
Console.WriteLine("success mother!");
}
使用ADO.NET访问、查询和操作数据库的更多相关文章
- 使用ADO.NET查询和操作数据库
String和StringBuilder 语法: //声明一个空的StringBuilder对象 StingBuilder对象名称 = new StringBuilder(); //声明一个Str ...
- ADO.NET查询和操作数据库
stringbuilder 类 stringbuilder类:用来定义可变字符串 stringbulider Append(string value) 在结尾追加 stringbuilder in ...
- 基础 ADO.NET 访问MYSQL 与 MSSQL 数据库例子
虽然实际开发时都是用 Entity 了,但是基础还是要掌握和复习的 ^^ //set connection string, server,database,username,password MySq ...
- SQL Server -- 回忆笔记(三):ADO.NET之C#操作数据库
SQL Server知识点回忆篇(三):ADO.NET之C#操作数据库 1.连接数据库 (1)创建连接字符串: 使用windows身份验证时的连接字符串: private string conStr= ...
- 用ADO操作数据库的方法步骤(ZT)
http://www.cppblog.com/changshoumeng/articles/113437.html 学习ADO时总结的一些经验 用ADO操作数据库的方法步骤 ADO接口简介 ADO库包 ...
- VC++下使用ADO操作数据库
VC++下使用ADO操作数据库主要要用到 _ConnectionPtr,_CommandPtr,_RecordsetPtr三个ADO对象指针,我查找了相关资料,发现网上源码很多,但是都相对凌乱,于是自 ...
- 摘:用ADO操作数据库的方法步骤
用ADO操作数据库的方法步骤 ADO接口简介 ADO库包含三个基本接口:_ConnectionPtr接口._CommandPtr接口和_RecordsetPtr接口. _ConnectionPtr接口 ...
- 用ADO操作数据库的方法步骤
用ADO操作数据库的方法步骤 学习ADO时总结的一些经验 - 技术成就梦想 - 51CTO技术博客 http://freetoskey.blog.51cto.com/1355382/989218 ...
- ADO.net操作数据库
今天整理硬盘,发现2年前开始着手开始学习C#的学习日记.陆续整理,一是自己的知识梳理梳理,二是希望与大家多多交流,能给初学者带来一定帮助,当然是更高兴的啦. 断线对象 另一类是与数据源无关的断线对象, ...
随机推荐
- Android集成人脸识别demo分享
本应用来源于虹软人工智能开放平台,人脸识别技术工程如何使用? 1.下载代码 git clone https://github.com/andyxm/ArcFaceDemo.git 2.下载虹软人脸识别 ...
- 原生ajax的请求封装get和post
一个完整的AJAX请求包括五个步骤: 1.创建XMLHTTPRequest对象 2.使用open方法创建http请求,并设置请求地址 3.设置发送的数据,开始和服务器端交互 4.注册事件 5.获取响应 ...
- Mac 如何安装 chromedriver
1.使用brew 命令 前提是要安装 brew 这里不做介绍 使用命令 brew install chromedriver 如上图出现错误,根据提示可以使用如下命令安装 brew cask inst ...
- 单细胞数据高级分析之消除细胞周期因素 | Removal of cell cycle effect
The normalization method described above aims to reduce the effect of technical factors in scRNA-seq ...
- Confluence 6 编辑一个空间的配色方案
空间默认继承全局的配色方案.但是,如果你是空间管理员的话,你可以对默认继承的全局方案进行调整,使用自定义的配色方案. 为一个空间修改配色方案: 进入空间后,然后从边栏的底部选择 空间工具(Space ...
- CentOS7 安装redis4:
phpredis-4.0.12.tar.gz:下载:wget http://download.redis.io/releases/redis-4.0.12.tar.gz $ tar -zxvf ...
- Ugly Number II leetcode java
问题描述: Write a program to find the n-th ugly number. Ugly numbers are positive numbers whose prime fa ...
- 巧用JSON
在开发的过程中,对json的接触基本是前端页面搭建完成后,对后台数据的请求.如果接口尚未提供,一般情况下会先按规定的要求写好需要的json模拟出请求的后台数据.json的格式有很多种,关注的主体是da ...
- Convert PIL Image to byte array?
1.import io img = Image.open(fh, mode='r') roiImg = img.crop(box) imgByteArr = io.BytesIO() roiImg.s ...
- UI基础一:简单的BOL查询
利用标准的BOL编辑工具,添加BOL对象,重写查询方法,实现简答的BOL查询 1.SE11创建查询对象结构: 2.SE11创建查询结果对象: 3.SE24新建处理类: 重写查询结果方法: METHOD ...