黑马程序员_ADO.NET操作数据库的过程
来源:互联网 发布:老安卓2.3软件 编辑:程序博客网 时间:2024/05/22 21:54
------- Windows Phone 7手机开发、.Net培训、期待与您交流! -------
一、ADO.NET简介
1.ADO.NET模型分成.NET Data Provider(数据提供程序)和DataSet数据集(数据处理的核心)两大主要部分。
2..NET Data Provider是指访问数据源的一组类库,主要是为例统一对于各类型数据源的访问方式而设计的一套高效能的类库。
3.不同的数据库使用不同的.NET Data Provider
SQL.NET Data Provider:支持Microsoft SQL Server 7.0及以上版本,Microsoft SQL Server首选使用此程序来访问。
OLEDB.NET Data Provider:支持dBase、FoxPro、Excel、Access、Oracle以及SQL Server等各类型数据源。
DOBC.NET Data Provider:支持dBase、FoxPro、Excel、Access、Oracle以及SQL Server等各类型数据源。
ORACLE.NET Data Provider:支持通过ORACLE接口来访问ORACLE数据源。
4..NET Data Provider包含的4个对象
对象名称
功能说明
Connection
与指定的数据进行连接
Command
用来运行select、insert、update、delete的SQL命令或者存储过程等
DataAdaptet
连接DataSet对象和数据源间的桥梁
DataReader
通过Command对象运行SQL查询命令取得数据流,以便进行高速、只读的数据浏览
5.DataSet(数据集)就像是内存中的数据库管理系统,数据都暂存在内存并处理各种从数据源中所取回的数据,以达到离线存储的目的。
二、ADO.NET数据库的访问流程
1.建立Connection对象,创建一个数据库连接。
例:
using System.Data.SqlClient;
string connStr;
SqlConnection conn = new SqlConnection();
connStr = "数据库连接字符串";
conn.ConnectionString = connStr;
//或者直接使用SqlConnection conn = new SqlConnection(connStr);进行创建Connection对象
conn.Open();
//do something
conn.Close();
实际开发常用方法:
//类需要继承IDisposable接口
string connStr = "数据库连接字符串";
try
{
using(SqlConnection conn = new SqlConnection(connStr))
{
con.Open();
//do something
com.Close();
}
}
catch(SqlException e)
{
//Log the exception
}
2.使用Command对象对数据库发送增、删、改、查等命令。
创建SqlCommand对象,然后把SQL子句作为一个参数传递给Command类的构造函数,放在上面例子的do something中
string sqlstr = "select * from tbStudent";
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = sqlstr;
cmd.Connection = conn;
//可以直接使用SqlCommand cmd = new SqlCommand(sqlstr,conn);进行创建Command对象
//根据不同sql语句执行不同Command的方法
(1)ExecuteNonQuery()方法,这个方法一般用于UPDATE、INSERT或者DELETE语句,唯一的返回值是受影响的行数。
例:
如上面改为sqlstr="update tbStudent set score=score+10";
cmd.ExecuteNonQuery();//返回值为int类型
(2)ExecuteScalar()方法,用来执行查询,返回查询的结果集中的第一行第一列,忽略其他行、列
例:
如上面改为sqlstr="select avg(score) form tbStudent";
double avgScore = (double)cmd.ExecuteScalar();//返回值为object类型,强制转换成你要的类型
(3)ExecuteReader()方法,用来执行查询,并返回一个类型化的DataReader对象,返回的对象可以用于遍历返回的记录。
string sqlstr = "select no , name from tbStudent";
SqlDataReader reader = cmd.ExecuteReader();//返回的结果是只读的
while(reader.Read())//如果没数据了Read()方法将返回false
{
string no = reader[0];//也可这样取值reader[no];
string name = reader[1];//也可这样取值reader[name];
}
(4)对于带参数的SQL语句
string sqlstr = "select * from tbStudent where Sno = @no";
string studentNo = "001";
cmd.Parameters.AddWithValue("@no", studentNo);//有多个参数则写多个此语句,然后再执行
- 黑马程序员_ADO.NET操作数据库的过程
- 黑马程序员_ADO.Net 数据库访问技术
- 黑马程序员_ADO.NET连接数据库
- 黑马程序员_ADO.NET
- 黑马程序员_ADO.NET数据库连接
- 黑马程序员_ADO.NET学习
- 黑马程序员_ADO.NET通过DataSet访问数据库
- 黑马程序员_ADO.NET通过DataReader快速访问数据库
- 黑马程序员_ADO.NET 一个简单的登录程序
- 黑马程序员_ADO.NET学习笔记
- 黑马程序员_ADO.NET学习笔记
- 黑马程序员_Ado.net学习总结
- 黑马程序员_ADO.NET学习知识总结
- 黑马程序员_ADO.Net(配置文件的两种写法与使用方法,手动编写SqlHelper类)
- 黑马程序员_学习日记5_ADO.Net入门1
- 黑马程序员_学习日记6_ADO.Net入门2
- 黑马程序员_学习日记15_ADO.Net之DataSet
- 黑马程序员_C# .Net 操作数据库
- 谈谈你对摩尔定律的理解,摩尔定律当前还继续有效吗?
- HTTP1.0-1.1差异
- careercup top 150判断字符串中字符是否唯一(字符不重复)
- Hibernate教程03_补充_三种状态深入分析
- Unity3d学习笔记
- 黑马程序员_ADO.NET操作数据库的过程
- ERROR 1045 (28000): Access denied for user 'root'@'localhost'
- 限制input输入类型
- Linux下卸载和安装MySQL[rpm包]
- 数字排序的一个注意点,是个坑
- 如何打印数字图形
- isalnum
- 忘记mysql的root用户密码怎么办?
- Android ListView背景成透明设置方法