//ADO.NET是.NET Framework提供的数据访问服务的类库,应用程序可以使用ADO.NET连接到这些数据源,并检索、处理和更新数据
//常用的数据源包括四种:
(1)Microsoft SQL Server数据源:使用System.Data.SqlClient名称空间
(2)OLEDB数据源:使用System.Data.OleDb名称空间
(3)ODBC数据源:使用System.Data.Odbc名称空间
(4)Oracle数据源:使用System.Data.OracleClient名称空间
ADO.NET用于访问和处理数据的类库包含以下两个组件:
- (1).NET Framework 数据提供程序
- (2)DataSet
Microsoft SQL Server .NET Framework数据提供程序:
- SqlConnection:建立与Microsoft SQL Server数据源的连接
- SqlCommand:对数据源执行各种SQL命令
- SqlDataReader:从数据源中抽取数据(只读)
- SqlDataAdapter:用数据源填充DataSet
//一.SQL Server数据库查询
using (SqlConnection conn = new SqlConnection())
{
//创建打开连接
conn.ConnectionString = "";
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在数据库表中 "增删改" 操作的一般步骤为:
//1.先建立数据库连接
//2.然后使用SQL Insert/Update/Delete语句创建命令,
//3.并使用Command 的 Parameters 属性来设置输入参数
//4.最后使用命令的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");
//执行查询ExecuteReader()
int r = cmd_insert.ExecuteNonQuery();
//获取查询结果
if(r == 1)
{
Console.WriteLine("insert OK");
}
else
{
Console.WriteLine("insert failed");
}
}
//三.使用DataAdapter和DataSet访问数据库
//使用DataAdapter和DataSet访问数据库的典型步骤如下:
//(1)建立数据库连接
//(2)创建DataAdapter, 从DataAdapter填充DataSet
//(3)操作和处理DataSet
//(4)使用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.InsertCommand = new SqlCommand("select sql", con);
//创建dataset对象
DataSet ds = new DataSet("Users_ds");
//从DataAdapter填充到DataSet
//DataAdapter的Fill方法使用DataAdapter的SelectCommand的结果集来填充DataSet
//Fill方法使用DataReader对象隐式的返回用于在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);
}