ADO.net操作数据库
今天整理硬盘,发现2年前开始着手开始学习C#的学习日记。陆续整理,一是自己的知识梳理梳理,二是希望与大家多多交流,能给初学者带来一定帮助,当然是更高兴的啦。
断线对象
另一类是与数据源无关的断线对象,例如DataSet对象和DataRelation对象,用户可以利用连接对象获取数据源中的原始数据,并且利用断线对象,一次返回给前端用户,前端用户在处理变动数据的过程中,并不需要保持与数据库的连接,当对所有数据完成变动操作之后,再一次通过连接对象将数据返回更新到数据库,因为不需要时时保持与数据库连接,所以能够大大降低所消耗的系统资源。
访问数据库的模式
1) OLEDB
OLEDB模式主要用于OLEDB所支持的数据库。OLEDB数据提供程序通过OleDbConnnection对象提供了使用OLEDB公开数据源的连接。
2) ODBC
ODBC模式主要用于ODBC所支持的数据库。可以通过系统建立DSN来实现对数据库的调用。
3) SqlClient
只用于访问MS Sql Sever数据库,是ADO。Net中比较特殊的组件,当然,MS Sql Severs也是支持OLEDB和 ODBC ,也可以通过OLEDB和 ODBC模式来访问,但是试验证明,SqlClient模式比ODBC OLEDB模式的效率更高。
DataAdapter对象
SqlConnection conn = new SqlConnection
(@"DataSource = .\SQLEXPRESS;AttachDBFilename= |DataDirectory|\Datebase1.mdf; Integrated Security = True; User Instance = True;") SqlConnection conn = new SqlConnection
(”Sever = 服务器名Local(或IP地址));User ID = 用户名;Pwd =密码;DataBase=数据库名称”)
该对象主要负责在Command对象执行完SQL语句后生成并填充DAtaSet和DataTable,而DataSet主要负责存取和更新数据。
连接Access数据库
private void button1_Click(object sender, EventArgs e)
{
string reportPass = Application.StartupPath.Substring(, Application.StartupPath.Substring(Application.StartupPath.LastIndexOf("\\")).LastIndexOf("\\")); reportPass += @"\项目管理系统数据库_2011-06-16";
string Constr = "Provider = Microsoft.Jet>OLEDB.4.0;Data source =" + reportPass;
OleDbConnection conn = new OleDbConnection(Constr);
conn.Open();
if (conn.State == ConnectionState.Open)
{
MessageBox.Show("数据库连接成功");
}
else
{
MessageBox.Show("数据库连接失败");
}
}
SQL连接字符串
SqlConnection conn = new SqlConnection
(@"DataSource = .\SQLEXPRESS;AttachDBFilename= |DataDirectory|\Datebase1.mdf; Integrated Security = True; User Instance = True;") SqlConnection conn = new SqlConnection
(”Sever = 服务器名Local(或IP地址));User ID = 用户名;Pwd =密码;DataBase=数据库名称”)
DataSet 对象表示包括相关表、约束和表间关系在内的整个数据集。
private void button1_Click(object sender, EventArgs e)
{
//实例SqlConnection对象
SqlConnection conn = new SqlConnection();
//设置连接字符串
conn.ConnectionString = "Sever = local;uid=sa;pwd=;database=db_11";
//打开数据库连接
conn.Open();
SqlCommand cmd = new SqlCommand("select 学生姓名from tb_02 ",conn );
//获取数据适配器
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
//填充Dataset
DataSet ds = new DataSet();
da.Fill(ds);
//绑定Dataset数据
listBox1.DataSource = ds.Table[].DefaultView;
listBox1.DisplayMember = "学生姓名";
//断开连接
conn.Close();
DataTable对象表示内存驻留数据的单个表,其中包括DataColumnCollection类表示的列集合以及由ConstraintCollection类表示的约束集合,这两个集合共同定义表的架构。DataTable对象还包含DataRowCollection类所表示的行的集合,而DataRowCollection类则包含表中的数据,除了其当前状态之外,DataRow对象还会保留其当前版本和初始版本,以标识对行中存储的值得更改。
DataRelationCollection
表示关系,它使一个DataTable对象中的行与另外一个DataTable对象中的行相关联。关系类似于可能存在于关系数据库中的主键列和外键列之间的连接路径。
绑定DataTable数据
listBox1.DataSource = ds.Table[0].DefaultView;
DataReader对象
DataReader对象是一个简单的数据集,用于数据源检索制度数据集,常用于检索大量数据,
DataReader对象只允许以只读、顺向的方式查看其中所存储的数据,提供一个非常有效率的数据查看方式,同时DataReader对象还是一种非常节省资源的数据对象,读者可以参照DataSet对象来学习。
注意:每次打开一个新对象,必须关闭一个DataReader对象,因为它是以独占的方式与数据库交互,否则会接收到其产生的异常。
内置配置文件
-> 添加新项-> 应用程序配置文件
//创建SqlDataAdapter对象实例
SqlDataAdapter AdapterSelect = new SqlDataAdapter("select *from tb_05",conn);
//创建DataTable实例
DataTable dt = new DataTable();
AdapterSelect.Fill(dt);
//填充控件
dataGridView1.DataSource=dt.DefaultView;
DataTable对象实例
Try
{
。。。。。。
}
//如果出现异常
Catch(Exception ee)
{
MessageBox.Show(ee.Message.ToString());
}
ADO.net操作数据库的更多相关文章
- Asp.Net Core 2.0 项目实战(4)ADO.NET操作数据库封装、 EF Core操作及实例
Asp.Net Core 2.0 项目实战(1) NCMVC开源下载了 Asp.Net Core 2.0 项目实战(2)NCMVC一个基于Net Core2.0搭建的角色权限管理开发框架 Asp.Ne ...
- Win10 64位系统ADO方式操作数据库失败解决方法
VC操作Access数据库一般通过ODBC.ADO.DAO等方式,但在我的Win10 64位操作系统中,通过ADO方式操作数据库会失败,无法读取数据.解决方法:1.首先确保Win10操作系统ado目录 ...
- ADO.Net操作数据库的方式
1.使用数据提供程序执行sql或者ddl语句操作数据库. 2.使用oledb操作数据库 3.使用odbc操作数据库 4.使用DataSet操作数据库 前面3种方式都无法避免要使用sql语句,对不同种类 ...
- ADO.NET操作数据库(一)
---恢复内容开始--- [1]ADO.Net简介2015-12-07-20:16:05 ADO.Net提供对Microsoft SQL Server数据源以及通过OLE DB和XML公开的数据源的一 ...
- ADO.NET 操作数据库 --- 01 简单封装
由于我是Java转的C#开始的时候就用的NHihernate,和EF 对ADO.NET使用较少,现在封装一个ADO.NET的工具类来实现数据库的操作,比较简单,望大家多多提意见. 如果大家有什么学习中 ...
- C# ADO.NET操作数据库 SqlHelp.cs类
刚开始练习ADONET的时候,练习的一个SQLHelp.cs 数据库操作类,很简单,但是也很实用 using System; using System.Collections.Generic; us ...
- 使用ADO.NET操作数据库
如有转载的请注明出处!蟹蟹 1.1使用对象连接OLE DB 数据源 OLE DB 数据源包含具有OLE DB 驱动程序的任何数据源,如SQL Server.Access.Excel.Oracle等. ...
- MFC,ADO方式实现数据库操作
参考: MSDN数据访问编程 (MFC/ATL): https://msdn.microsoft.com/zh-cn/library/kd4ck1tt.aspx?f=255&MSPPError ...
- 就这么 来ADO.net类操作数据库
使用ADO.net操作数据库其实也是很简单,而且使用频率蛮高的一种方式.话不多说,上代码才更容易理解. 首先,先要引入数据库操作相关的命名空间,这样才能使用下面的代码 //数据库连接引用的命名空间 u ...
随机推荐
- Bitmap简单操作笔记
using System; using System.Collections.Generic; using System.Drawing; using System.Drawing.Imaging; ...
- linux 学习 12 服务管理
第十二讲 Linux服务管理 12.1 Linux服务管理-服务分类 ——Linux服务 ----RPM包默认安装的服务 ————独立的服务 ————基于xinetd服务 ----源码包安装的服务 ...
- 15.6.6 Configuring Thread Concurrency for InnoDB
innodb_thread_concurrency 设置inndb线程个数,如果超过则休眠一段时间,时间根据 innodb_thread_sleep_delay 单位为微妙,然后放进队列. innod ...
- Opencl 并行求和
上周尝试用opencl求极大值,在网上查到大多是求和,所谓的reduction算法.不过思路是一样的. CPP: ; unsigned ; ; ; int nGroup = nGroupSize / ...
- ASP.NET之Cookie(坑爹的Response.Cookies.Remove)(转)
在web开发中Cookie是必不可少的 .NET自然也有一个强大的Cookie操作类,我们用起来也非常方便,不过在使用中我们会发现一个坑爹的事情Response.Cookies.Remove删除不 ...
- python之路-Day5
1.列表生成式,迭代器&生成器 列表生成式 我现在有个需求,看列表[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],我要求你把列表里的每个值加1. 普通版 a = [0,1,2,3 ...
- 敏捷软件开发vs传统软件开发
摘要 本文介绍了传统软件开发(着重介绍了传统软件开发中常用的瀑布模型)和敏捷软件开发,以及敏捷开发和传统开发的对比. 一.传统软件开发 比较常用的几种传统软件开发方法:瀑布式开发.迭代式开发.螺旋开发 ...
- log4j相对路径找不到,处理方法
http://blog.csdn.net/u012345283/article/details/40821833?utm_source=tuicool&utm_medium=referral
- centos 安装 maven
1: 下载 maven 我采用的是 apache-maven-3.3.9-bin.tar.gz http://maven.apache.org/download.cgi 2: 解压 tar ...
- Python Microsoft Visual C++ Compiler Package for Python 2.7
错误描述: 在从源代码安装Python模块时遇到此错误.可是我明明从官网下载并安装了Microsoft Visual C++ Compiler Package for Python 2.7,且配置了环 ...