C#中的Ado.net
ADO.Net是.Net平台提供和数据库交互的类集,我们可以通过它对SqlServer,Oracle,XML等这样的数据源进行访问,应用程序可以通过ADO.Net链接到数据源,进行增,删,改,查等操作。
ADO.Net主要用到的对象:
1.Connection 用于和数据源进行连接
2.Command 用于执行SQL命令
3 DataReader 从数据源读取只进且只读的数据流,读取过程中必须和数据源保持连接状态
4 DataAdapter 用作DataSet和数据源之间的桥接器,以便检索和保存数据
5 DataSet 可以看作是一个暂存区,从数据源中读取到的数据保留起来,可以存储多个表的数据
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient;
using System.Configuration;
using System.Data;
namespace Demo_ADONET
{
class Program
{
static void Main(string[] args)
{
string connectionString = "Data Source=(local);Initial Catalog=TestDatabase;User ID=sa;Password=123456";
TestDataReader(connectionString);
TestDataAdapterFill(connectionString);
Console.ReadLine();
}
/// <summary>
/// DataReader示例
/// </summary>
/// <param name="connString"></param>
public static void TestDataReader(string connString)
{
string queryString = "SELECT ID,NAME,PRICR FROM TEST2 WHERE PRICR>=3";
using (SqlConnection connection = new SqlConnection(connString))
{
SqlCommand command = new SqlCommand(queryString, connection);
try
{
connection.Open();
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
Console.WriteLine(string.Format("ID{0};NAME{1};PRICE{2}", reader[0], reader[1], reader[2]));
}
connection.Close();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
}
/// <summary>
/// 用户保存从数据源读取的数据
/// </summary>
private static DataSet dataSet = new DataSet();
/// <summary>
/// 通过DataAdapter从数据源读取数据并填充到DataSet中
/// </summary>
/// <param name="connString"></param>
public static void TestDataAdapterFill(string connString)
{
using (SqlConnection conn = new SqlConnection(connString))
{
string queryString = "SELECT ID,NAME,PRICR FROM TEST2";
try
{
conn.Open();
SqlCommand command = new SqlCommand(queryString, conn);
SqlDataAdapter adapter = new SqlDataAdapter(command);
adapter.Fill(dataSet);
if (dataSet != null && dataSet.Tables.Count > 0)
{
DataTable dataTable = dataSet.Tables[0];
for (int i = 0; i < dataTable.Rows.Count; i++)
{
Console.WriteLine("ID:{0};Name:{1};Price:{2}",
dataTable.Rows[i]["ID"], dataTable.Rows[i]["NAME"], dataTable.Rows[i]["PRICR"]);
}
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
conn.Close();
}
}
}
}
}