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);
}
热门推荐
定了!有这些新变化!2024版电池回收新规正式发布
软化皮肤的药膏有哪些
熬夜对心脏的影响:规律作息、合理饮食预防猝死
高等教育模式不断扩大,该怎样深入改革?需要以促进就业为导向
弘一法师说:人生各有渡口,各有归舟,有缘躲不开,无缘碰不到,缘起则聚,缘尽则散。
农村建房毛坯房多少钱一平方?影响价格的关键因素解析
如何巧妙利用140平方别墅设计提升居住舒适度与空间感?
利用技能培训提升个人职位和地位
美味的炒胡萝卜丝【低脂素食】
美国研究生申请转专业的要求和注意事项
电动自行车为何坚持48V电池:拒绝超标电池背后的深思
单位不缴纳住房公积金违法吗
选择蓝牙耳机,先来看看这些专业术语
春风又绿江南岸,明月何时照我还。全诗意思及赏析
漫威版《蜘蛛侠》,粉丝其实并不认可的十件事情,遗憾有待修复
网约车战事再起,“烧钱大战”血腥味十足,干一单赔一单?
2025全国大学招生简章公布时间及报考指南最新汇总
卢靖姗:从歌手到演员的华丽转身
一文彻底搞懂如何评估大模型 - 基准测试(Benchmark)
干红枣的保质期是多长时间?干红枣能存多久?
喵星人平均一天要睡16个小时,它们都是怎么睡觉的?
华强北地铁站是几号线地铁-是属于哪个区-华强北地铁站末班车时间表
生化全套检查项目有哪些
诈骗罪需要哪些证据才能定罪
警惕!中药何首乌可引发药源性肝损害,不可忽视
五心烦热是哪五心
业内谈房价何时能触底反弹,房地产政策宽松能维持多久?
为什么社保缴费基数每年调整
湖北潜江:全域旅游加速崛起
急性肠胃炎细菌和病毒的区别