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 ...
随机推荐
- C++ 内存的分配方式 (摘选自网络)
在c++中有三种分配内存的方式: 在许多大大公司在面试的时候很可能考到的内容.在这里和大家分享了!1. 静态存储区,是在程序编译时就已经分配好的,在整个运行期间都存在,如全局变量.常量.2. 栈上分配 ...
- 一个Tomcat多端口多项目部署
为什么突然写这个呢,前两天面试了,被面试官给问住了,回来一查.....怎么这么简单,当时我就....你懂得. 我用的是Tomcat7,用Eclipse新建了两个简单的web项目,贴出web1的截图,w ...
- Python语法一
前记,今天开始学习Python 参考 笨方法学习+Python(第三版) 因为有编程基础,所以入门不难,相比于以前学过的其它语言编程,Python当然也有它独特的语法格式. 1.安装Python 访问 ...
- 那些可能被你忽略的MySQL优化技巧
说明:本文中的内容适用于MySQL5.1-5.6版本,不保证新的版本中仍然适用; 且只针对于大部分常见应用场景,是否有效果应以基于实际业务数据的测试为准. 1 优先把列设置为NOT NULL 允许NU ...
- CSS属性(根据继承性分为两类)
一.可继承属性 1>所有标签可继承: visibility:行高 cursor: 2>内联标签可继承: line-height:行高 color:文字颜色 font-family:文字字体 ...
- 在gitlab上setup CI
安装gitlab runner docker pull gitlab/gitlab-runner 启动gitlab runner docker run -d --name gitlab-runner ...
- photoshop cs5 key
序列号: 1330-1164-2870-9234-4243-7879 1330-1027-8489-4513-0233-4890 1330-1176-2865-0373-1551-0175 1330- ...
- AFNetworking图片缓存问题
AFNetworking网络库已经提供了很好的图片缓存机制,效率是比较高的,但是我发现没有直接提供清除缓存的功能,可项目通常都需要添加 清除功能的功能,因此,在这里我以UIImageView+AFNe ...
- Versioned table in Netezza
Problem One QC process need to obtain tables and their row counts in a database in Netezza. We use t ...
- 简单的html和css
整体图太大了,看不太清楚,下面是分开的图 第一张: 第二张: