嘿嘿,又到了總結了的時間,今天我們學習了ADO.net,什么是ADO.NET:ADO.NET就是一組類庫,這組類庫可以讓我們通過程序的方式訪問數據庫,就像System.IO下的類操作文件一樣, System.Data.這組類是用來操作數據庫(不光是MSSql Server),它提供了統一的編程接口讓操作其它數據庫(Access、Oracle等)的方式和操作MSSql Server一致。下面就簡單的總結下啦,
一.通過在VS中的簡單方法插入數據
class Program { static void Main(string[] args) { string sqlconn = "Data Source=.;Initial Catalog=claa;Integrated Security=True"; using (SqlConnection sqlcon = new SqlConnection(sqlconn)) { sqlcon.Open(); string text = "Insert into Class values('李四','我很快樂')"; using (SqlCommand conn = new SqlCommand(text,sqlcon)) { int number= conn.ExecuteNonQuery(); if (number > 0) { Console.WriteLine("成功"); } else { Console.WriteLine("失敗"); } Console.ReadKey(); } } } }
二.通過在VS中的簡單方法刪除數據
class Program { static void Main(string[] args) { string constr = "Data Source=.;Initial Catalog=claa;Integrated Security=True"; using (SqlConnection con = new SqlConnection(constr)) { con.Open(); string sql = "delete from Class where Class.cName='李四'"; using (SqlCommand conn = new SqlCommand(sql, con)) { int i= conn.ExecuteNonQuery(); if (i > 0) { Console.WriteLine("成功"); } else { Console.WriteLine("失敗"); } } Console.ReadKey(); } } }
三.通過在VS中的簡單方法更新數據
class Program { static void Main(string[] args) { string connectionString = "Data Source=.;Initial Catalog=db_buiness;Integrated Security=True"; using (SqlConnection conn = new SqlConnection(connectionString)) { conn.Open(); string commandText = "Update Class set cName=‘張三’ where id=2 "; using (SqlCommand cmd = new SqlCommand(commandText,conn)) { int num= cmd.ExecuteNonQuery(); if (num > 0) { Console.WriteLine("修改成功"); } else { Console.WriteLine("修改失敗"); } } Console.ReadKey(); } } }
四.通過在VS中的簡單方法查詢數據
1. 創建一個winform窗體,在窗體上面拖拉一個控件dataGridView,然后實現其代碼如下:
private void Form1_Load(object sender, EventArgs e) { string connection = "Data Source=.;Initial Catalog=claa;Integrated Security=True"; using (SqlConnection conn = new SqlConnection(connection)) { conn.Open(); string sql = "select * from log"; using (SqlCommand cmd = new SqlCommand(sql,conn)) { //DataTable dt = new DataTable(); //當讀取的表為一張表的時間,可以選擇使用DataTable //using (SqlDataAdapter sda = new SqlDataAdapter(cmd)) //{ // sda.Fill(dt); // this.dataGridView1.DataSource = dt; //} DataSet ds = new DataSet(); //使用DataSet讀取數據集 using (SqlDataAdapter sda = new SqlDataAdapter(cmd)) { sda.Fill(ds); this.dataGridView1.DataSource = ds.Tables[0]; } } } }
數據庫中的表的信息就會顯示在界面上面,如下代碼所示為:
2.創建一個簡單的登陸界面,登陸界面設計如下:
代碼如下:
public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { string name=this.textBox1.Text; string pwd = this.textBox2.Text; string connection = "Data Source=.;Initial Catalog=claa;Integrated Security=True"; using (SqlConnection conn=new SqlConnection(connection)) { conn.Open(); string sql = "select Name,Pwd from Log where Name =@name and Pwd =@pwd"; SqlParameter sp = new SqlParameter("@name",name); SqlParameter sp1 = new SqlParameter("@pwd", pwd); using(SqlCommand cmd=new SqlCommand (sql,conn)) { cmd.Parameters.Add(sp); cmd.Parameters.Add(sp1); DataTable table = new DataTable(); using (SqlDataAdapter sqd = new SqlDataAdapter(cmd)) { sqd.Fill(table); if (table.Rows.Count > 0) { MessageBox.Show("成功"); } else { MessageBox.Show("失敗"); } } } } } }
結果如下所示:
五。綜上
1.數據提供程序(常用類)
Connection:用來連接數據庫
Command:用來執行SQL語句
DataReader:只讀、只進的結果集,一條一條讀取數據(StreamReader、XmlReader微軟的類庫中這些Reader的使用方式都差不多)
DataAdapter,一個封裝了上面3個對象的對象
數據集(DataSet)
2.訪問數據庫的方式有兩種
方式一:1.連接數據用Connection;執行SQL語句Command;執行完畢之后將結果一條一條返回。DataReader
方式二:使用DataAdapter+DataSet,這種方法本質還是通過Connection、Command、DataReader將數據全部取出來然后放到了DataSet中
3.SqlCommand常用的方法
ExecuteNonQuery() 執行對數據庫的增刪改,返回受影響的行數,適合:insert、delete、update(對於其他語句返回-1)
ExecuteScalar() 執行查詢,返回首行首列
ExecuteReader() 執行查詢,返回DataReader對象
好啦,就總結到這里啦,今天學習的方法好多都是之前沒有用過的啦,似乎接觸的東西沒有那么多啦,但是我們使用起來卻是比較困難的啦,所以這個要多練習啦,嘿嘿。