在C#中ADO.NET技術提供了對數據源的訪問,ADO.NET是一個類庫,包含了Conection 對象、Comand對象、DataReader對象、DataSet對象、DataAdapter對象5個對象,用于和不同種類的數據源進行交互
cc.png
其中Connection用于和數據庫建立連接,Command用于執行SQL命令,DataSet對象在于實現獨立的數據訪問技術,DataReader對象用于從數據源中獲取數據流,DataAdapter對象用于連接DataSet對象和數據源
連接一個數據庫
在SQL server 2012中新建數據庫mydb,新建數據庫表admin
create table admin
(
id int,
name nvarchar(20)
)
利用Connection對象連接SQL Server 2008數據庫,在VS Studio2010中新建一個C#窗口程序,代碼如下
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
namespace Li_917
{
class Program
{
static void Main(string[] args)
{
//定義數據庫 連接字符串(包含了數據庫信息)
String strConn = "Server=127.0.0.1;Database=mydb;uid =sa;PWD=sa";
//創建Conection對象
SqlConnection conn = new SqlConnection(strConn);
//打開連接
conn.Open();
Console.WriteLine("數據庫連接成功");
conn.close();
}
}
}
查
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
namespace _917
{
class Program
{
static void Main(string[] args)
{
String strConn = "Server=127.0.0.1;Database=mydb;user id =sa;PWD=sa";
//使用Conection對象連接數據庫
SqlConnection conn = new SqlConnection(strConn);
conn.Open();
String str = "select * from admin";
//使用SqlCommand執行Sql語句
SqlCommand cmd = new SqlCommand(str,conn);
//SqlDataReader對象從數據源獲取數據
SqlDataReader dr = cmd.ExecuteReader();
//判斷是否含有數據
if (dr.HasRows)
{
//Read方法使DataReader對象前進到下一條記錄
while (dr.Read())
{
Console.WriteLine(dr[1].ToString());
}
}
dr.Close();
}
}
}
增
和查詢不一樣的是,增加數據的時候SqlCommand對象調用的是ExecuteNonQuery()方法
using System.Linq;
using System.Text;
using System.Data.SqlClient;
namespace _917
{
class Program
{
static void Main(string[] args)
{
String strConn = "Server=127.0.0.1;Database=mydb;user id =sa;PWD=sa";
//使用Conection對象連接數據庫
SqlConnection conn = new SqlConnection(strConn);
conn.Open();
String str = "insert into admin (name) values ('菲菲')";
//使用SqlCommand執行Sql語句
SqlCommand cmd = new SqlCommand(str,conn);
cmd.ExecuteNonQuery();
Console.WriteLine("增加數據成功");
conn.Close();
}
}
}
增、刪、改是一樣的只是上面的SQL語句不同
每天學習一點,進步一點,日后將匯聚成汪洋大海