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 ...
随机推荐
- 网络同步带来的bug
说一下之前遇到的bug,首先贴点代码 public class TcpSession : ITcpSession { private Socket _appSession; private AutoR ...
- php 文件锁
当写为LOCK_EX锁 且 读为LOCK_SH锁时最为妥当,经测试,这时情况如下: 1, 先运行w.php,马上支行r.php 后 程序会先等写入后再读取 2, 先运行r.php,再马上支行w.php ...
- 数字信号处理--FFT
FFT是离散傅立叶变换的快速算法,可以将一个信号变换到频域.有些信号在时域上是很难看出什么特征的,但是如果变换到频域之后,就很容易看出特征了.这就是很多信号分析采用FFT变换的原因.另外,FFT可以将 ...
- python数据统计,总数,平均值等
一般我们进行数据统计的时候要进行数据摸查,可能是摸查整体的分布情况啊.平均值,标准差,总数,各分段的人数啊.这时候用excel或者数据库统计都不方便. 我要统计的一个文件,太大了,还得分成15个文件, ...
- Android剪贴板操作----ClipboardManager
andrid developers java.lang.Object ---android.text.ClipboardManager ------android.context.ClipboardM ...
- (引用)Python 元素、元组、列表、字典的区别
转载:http://www.th7.cn/Program/Python/201407/231060.shtml 元素: 元组:tuple=('nice','to','meet','you') 列表:l ...
- Request header is too large
当request url过长的时候,经常tomcat后台就会包 "Request header is too large"错误. 解决方法:修改server.xml文件,linux ...
- django单元测试
django 单元测试小结 django 测试 从前很少写单元测试了,特别是web应用.最近不知不觉喜欢起来这个事情了,发现单元测试对于软件的模块,正交性有很大促进作用,因为函数,模块写的不合 ...
- java_jdk_JDK版本切换批处理脚本
我们平时在window上做开发的时候,可能需要同时开发两个甚至多个项目,有时不同的项目对JDK的版本要求有区别,这时候我们可能会在一台电脑上安装多个版本的JDK,如下图所示:
- 使用NSScanner,将十六进制字符串转十进制
例子: NSString * numStr = [@"0x110" substringFromIndex:2]; unsigned long long result = 0; N ...