ADO.NET两种连接模型简介及增删改查实例
来源:互联网 发布:网络爬虫工具下载 编辑:程序博客网 时间:2024/06/18 05:29
ADO.NET支持两种访问数据的模型:无连接模型和连接模型
无连接模型:将数据下载到客户机器上,并在客户机上将数据封装到内存中,然后可以像访问本地关系数据库一样访问内存中的数据(例如DataSet)。
连接模型:依赖于逐记录的访问,这种访问要求打开并保持与数据源的连接。
Connection对象:负责与数据的连接
Command对象:执行SQL语句,有三个常用方法:ExecuteNonQuery、ExecuteReader、ExecuteScalar
ExecuteNonQuery:用于增删改,返回受影响的行数
ExecuteReader:执行查询,返回一个SqlDataReader对象
ExecuteScalar:执行查询,并返回查询所返回首行首列
SqlDataReader对象:将查询数据直接送到目标位置,不经过任何的中转,执行速度快。
查询实例:
private void btnTest_Click(object sender, EventArgs e){ try { string serverName = "192.168.0.171"; string dataBaseName = "MyDB"; string id = "sa"; string pwd = "123456"; //string str = "server = " + serverName + ";" + "database = " + dataBase + ";" + "uid = " + id + ";" + "pwd = " + pwd; string str = string.Format("server = {0};database = {1};uid = {2};pwd = {3}", serverName, dataBaseName, id, pwd); using (SqlConnection con = new SqlConnection(str)) { //拼接sql语句 string sql = ""; //准备执行sql语句的对象 using (SqlCommand cmd = new SqlCommand(sql, con)) { if (con.State == System.Data.ConnectionState.Closed) { con.Open();//打开数据库 //以下若不使用using可以通过下句代码实现cmd和con的自动释放 //cmd.ExecuteNonQuery(System.Data.CommandBehavior.CloseConnection) using (SqlDataReader reader = cmd.ExecuteReader())//准备读数据 { //判断是否有数据(有没有行) if (reader.HasRows) { //读取每一行 while (reader.Read()) { } } } } } } } catch (Exception) { MessageBox.Show("数据库操作失败!!!"); }}
插入/更新/删除实例:仅sql语句不同,其它格式一样
private void btnTest_Click(object sender, EventArgs e){ try { string serverName = "192.168.0.171"; string dataBaseName = "MyDB"; string id = "sa"; string pwd = "123456"; //string str = "server = " + serverName + ";" + "database = " + dataBase + ";" + "uid = " + id + ";" + "pwd = " + pwd; string str = string.Format("server = {0};database = {1};uid = {2};pwd = {3}", serverName, dataBaseName, id, pwd); using (SqlConnection con = new SqlConnection(str)) { //拼接sql语句 string sql = string.Format("insert into DeskInfo(name,num,desc) values('{0}','{1}','{2}')", txtName.Text, txtNum.Text, txtDesc.Text); //准备执行sql语句的对象 using (SqlCommand cmd = new SqlCommand(sql, con)) { if (con.State== System.Data.ConnectionState.Closed) { con.Open();//打开数据库 if (cmd.ExecuteNonQuery()) { MessageBox.Show("插入数据库失败"); } } } } } catch (Exception) { MessageBox.Show("数据库操作失败!!!"); }}
临时数据库DataSet
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;using System.Data.SqlClient;namespace _04临时数据库DataSet{ class Program { static void Main(string[] args) { //创建数据库 DataSet ds = new DataSet("mydatabase"); //创建表 DataTable dt = new DataTable("student"); //创建列 DataColumn dc1 = new DataColumn("stuId", typeof(int));//第一个列 DataColumn dc2 = new DataColumn("stuName", typeof(string));//第二列 //把列添加到表中 dt.Columns.Add(dc1); dt.Columns.Add(dc2); //添加数据 dt.Rows.Add(1, "nll"); dt.Rows.Add(2,"ml"); ds.Tables.Add(dt);//把表放到数据库中 foreach (DataTable table in ds.Tables) { foreach (DataRow row in table.Rows) { Console.WriteLine("{0},=========={1}",row[0],row[1]); } } Console.ReadKey(); } }}
0 0
- ADO.NET两种连接模型简介及增删改查实例
- ADO.Net连接与增删改查
- ADO.NET增删改查
- ADO.NET 增删改查
- C# ADO.net连接数据库 进行增删改查操作
- 传智播客学习日记]ADO.Net连接与增删改查
- ASP.NET 连接数据库 增删改查简单实例
- ASP.NET 连接数据库 增删改查简单实例
- ado.net EF 增删改查、分页
- ADO.NET数据增删查改操作
- ASP.NET ---- 连接Access . 增删改查
- ASP.NET ---- 连接Access . 增删改查 .
- C#.Net中ADO.net数据增删查改操作
- 关于ADO.NET数据库操作中的增删改查讲解
- 实现数据库的增删改查(ADO.Net)
- ADO.NET基本数据操作(增删改查)
- ADO.NET对数据库进行增删查改
- ADO.NET 增删改查的基本用法
- 【android】:android如何改变app图标
- 学习SpringMVC(二十二)之文件上传
- win下查看程序 的命令行 参数 类似linux ps -ef
- spring ,springMVC,Mybatis和ehcache整合遇到的问题
- 多核与多个CPU啥区别
- ADO.NET两种连接模型简介及增删改查实例
- 手把手教你实现 ListView
- Spring Security(02)——关于登录
- python os.path模块
- OnPreferenceChangeListener,OnPreferenceClickListener
- 奋斗吧,程序员——第四十五章 柔情似水,佳期如梦
- javascript实现中国地图
- 第 8 章 界定问题
- leetcode---Search Insert Position