ADO.NET操作SQL Server数据库详解
创作时间:
作者:
@小白创作中心
ADO.NET操作SQL Server数据库详解
引用
CSDN
1.
https://blog.csdn.net/weixin_44279482/article/details/136682094
ADO.NET是.NET Framework提供的数据访问服务的类库,应用程序可以使用ADO.NET连接到各种数据源,并检索、处理和更新数据。常用的数据源包括以下四种:
- Microsoft SQL Server数据源:使用
System.Data.SqlClient
命名空间 - OLEDB数据源:使用
System.Data.OleDb
命名空间 - ODBC数据源:使用
System.Data.Odbc
命名空间 - Oracle数据源:使用
System.Data.OracleClient
命名空间
ADO.NET用于访问和处理数据的类库包含以下两个组件:
- .NET Framework数据提供程序
- DataSet
Microsoft SQL Server .NET Framework数据提供程序
SqlConnection
:建立与Microsoft SQL Server数据源的连接SqlCommand
:对数据源执行各种SQL命令SqlDataReader
:从数据源中抽取数据(只读)SqlDataAdapter
:用数据源填充DataSet
SQL Server数据库查询
using (SqlConnection conn = new SqlConnection())
{
// 创建打开连接
conn.ConnectionString = "Server=你的服务器地址;Database=你的数据库名;User Id=你的用户名;Password=你的密码;";
conn.Open();
// 创建查询
SqlCommand cmd1 = new SqlCommand("select id,name from users", conn);
// 执行查询ExecuteReader()
SqlDataReader sdr = cmd1.ExecuteReader();
// 获取查询结果
Console.WriteLine($"id\tname");
if (sdr.Read())
Console.WriteLine($"{sdr[0]}\t{sdr[1]}");
sdr.Close();
}
使用ADO.NET在数据库表中"增删改"操作的一般步骤
- 先建立数据库连接
- 然后使用SQL Insert/Update/Delete语句创建命令
- 并使用Command的Parameters属性来设置输入参数
- 最后使用命令的ExecuteNonQuery()方法执行数据库记录插入操作,并根据返回的结果判断插入的结果
using (SqlConnection conn = new SqlConnection())
{
// 创建连接
conn.ConnectionString = "";
conn.Open();
// 创建查询
//SqlCommand cmd_update = new SqlCommand("update users set name = @name where id = @id", conn);
//SqlCommand cmd_delete = new SqlCommand("delete from users where id = @id", conn);
SqlCommand cmd_insert = new SqlCommand("insert users(id,name) values(@id,@name)", conn);
cmd_insert.CommandType = System.Data.CommandType.Text;
// 设置参数
// 方法1
SqlParameter[] sqlparams = new SqlParameter[2] { new SqlParameter("@id",10), new SqlParameter("@name", "David") } ;
cmd_insert.Parameters.AddRange(sqlparams);
// 方法2
cmd_insert.Parameters.Add(new SqlParameter("@id", 10));
cmd_insert.Parameters.Add(new SqlParameter("@name", "David"));
// 方法3
cmd_insert.Parameters.AddWithValue("@id", 10);
cmd_insert.Parameters.AddWithValue("@name", "David");
// 执行插入操作ExecuteNonQuery()
int r = cmd_insert.ExecuteNonQuery();
// 获取查询结果
if(r == 1)
{
Console.WriteLine("insert OK");
}
else
{
Console.WriteLine("insert failed");
}
}
使用DataAdapter和DataSet访问数据库
使用DataAdapter和DataSet访问数据库的典型步骤如下:
- 建立数据库连接
- 创建DataAdapter,从DataAdapter填充DataSet
- 操作和处理DataSet
- 使用DataAdapter更新数据源
using (SqlConnection con = new SqlConnection("conn string"))
{
// 打开数据库连接
con.Open();
// DataAdapter用于从数据源检索数据并填充DataSet中的表(select command),
// DataAdapter还将对DataSet的更改解析回数据源(InsertCommand、UpdateCommand或DeleteCommand)
// 创建DataAdapter,明确connection和command
SqlDataAdapter sda = new SqlDataAdapter();
sda.SelectCommand = new SqlCommand("select sql", con);
// 创建dataset对象
DataSet ds = new DataSet("Users_ds");
// 从DataAdapter填充到DataSet
// DataAdapter的Fill方法使用DataAdapter的SelectCommand的结果集来填充DataSet
// Fill方法使用DataAdapter对象隐式的返回用于在DataSet上创建的表以及用于填充DataSet中的数据
sda.Fill(ds);
// 操作和处理dateset
Console.WriteLine($"id\tname");
foreach (DataRow dr in ds.Tables["Users_ds"].Rows)
{
Console.WriteLine($"dr[0]\tdr[1]");
}
// 更新datesheet中第一行的指定字段数据
ds.Tables[0].Rows[0]["name"] = "LittleStone";
// 将dateset数据更新到数据库
sda.Update(ds);
}
热门推荐
重庆与西安:两座网红城市的全方位对比
哪些银行可以打印征信报告?一文详解查询和打印方法
青岛房市回暖:新房二手房价格齐涨
加装电梯,重塑老旧小区生活——揭秘施工周期之谜
抗战胜利后,数百万投降伪军,国民党究竟收编了多少?
咖啡过期了怎么办?5个创意再利用方法与保存技巧
抗饥饿食物有哪些
理解简历本质:切换面试官视角
深度解析架空防静电地板材质
坪效之王如何产生?——读《坪效之王》
裁员补偿什么时候发
房屋过户需要户口本吗?全流程详解来了
幼儿园2025-2026学年度第一学期保教工作计划
三星堆遗址已修复四千多件文物!精彩视频抢先看!
中国歼-20:武器和性能揭秘,是五代战机中的顶流
如何设置数据库联合主键
“地下城”怎么建?江苏新增地下空间建筑面积超3000万平方米,位居全国前列
盐酸雷尼替丁口服溶液说明书
算法的时间复杂度O(n)到底怎么算
摩洛哥生活水平:发展与挑战并存的现状
慢性支气管炎患者应该如何调整饮食
取名宜用字 命名最佳法
村干部请假制度的具体内容是什么?
水培蔬菜有哪些技术要点?
重大刑事案件司法实践与法律剖析
网上查询法院起诉案件的入口在哪里
盘点史上最具代表性的第一人称射击游戏
幕墙是什么?分哪些种类?不锈钢蜂窝板幕墙有什么优势?
污水BOD表示的含义是什么(污水BOD排放标准)
如何准确测量水质BOD?BOD测定仪操作全解析