C#連接數據庫以及增、刪、改、查操作


using System; using System.Collections.Generic; using System.Data.SqlClient; using System.Linq; using System.Text; using System.Threading.Tasks; namespace _03.ado.net { class Program { static void Main(string[] args) { #region 連接數據庫 ////連接數據庫的步驟: ////1.創建連接字符串 ////Data Source=服務器名; ////Initial Catalog=數據庫名; ////Integrated Security=True;聲明驗證方式 ////用戶名、密碼方式 //string constr = "Data Source=localhost;Initial Catalog=zwt;uid=root;pwd=zwt"; ////集成式 ////string constr = "Data Source=localhost;Initial Catalog=zwt;integrated Security=true"; ////2.創建連接對象 //using (SqlConnection con = new SqlConnection(constr)) //{ // //測試,打開連接 // //3.打開連接(如果打開數據連接沒有問題,表示連接成功) // con.Open(); // Console.WriteLine("數據庫連接成功"); // //4.關閉連接,釋放資源 // con.Close(); // //con.Dispose(); //} //Console.WriteLine("斷開連接"); //Console.ReadKey(); #endregion #region 增加數據 ////連接數據庫的步驟: ////1.創建連接字符串 ////Data Source=服務器名; ////Initial Catalog=數據庫名; ////Integrated Security=True;聲明驗證方式 ////用戶名、密碼方式 //string constr = "Data Source=localhost;Initial Catalog=zwt;uid=root;pwd=zwt"; ////集成式 ////string constr = "Data Source=localhost;Initial Catalog=zwt;integrated Security=true"; ////2.創建連接對象 //using (SqlConnection con = new SqlConnection(constr)) //{ // //4.編寫SQL語句 // string sql = "insert into zwt values('Tony',23,'男')"; // //5.創建一個執行sql語句的對象(命令對象)sqlcommand // using (SqlCommand cmd = new SqlCommand(sql, con)) // { // //6.開始執行SQL語句 // //3個命令對象 // //cmd.ExecuteNonQuery();方法有一個int型的返回值,表示執行insert、delete、update語句后所影響的行數, // //並且只有執行這3種語句時返回影響的行數,其他語句都返回-1 // int r = cmd.ExecuteNonQuery(); // //cmd.ExecuteNonQuery();//執行insert、delete、update語句 // //cmd.ExecuteScalar();//執行返回單個結果 // //cmd.ExecuteReader();//查詢出多行、多列結果 // //3.打開連接(連接對象最晚打開,最早關閉,節約資源) // con.Open(); // Console.WriteLine("已成功插入{0}行數據", r); // } //} //Console.ReadKey(); #endregion #region 刪除數據 ////1.創建連接字符串 //string constr = "Data Source=localhost;Initial Catalog=zwt;Integrated Security=True"; ////2.連接對象 //using (SqlConnection con = new SqlConnection(constr)) //{ // //3.sql語句 // string sql = "delete from zwttable where name=tony"; // //4.創建sqlcommand對象 // using (SqlCommand cmd = new SqlCommand(sql, con)) // { // //5.打開鏈接 // con.Open(); // //6.執行 // int r = cmd.ExecuteNonQuery(); // Console.WriteLine("成功刪除了{0}行數據", r); // } //} //Console.ReadKey(); #endregion #region 修改數據 ////1.創建連接字符串 //string constr = "Data Source=localhost;Initial Catalog=zwt;Integrated Security=True"; ////2.連接對象 //using (SqlConnection con = new SqlConnection(constr)) //{ // //3.sql語句 // string sql = "update zwttable set name=tony,age=26"; // //4.創建sqlcommand對象 // using (SqlCommand cmd = new SqlCommand(sql, con)) // { // //5.打開鏈接 // con.Open(); // //6.執行 // int r = cmd.ExecuteNonQuery(); // Console.WriteLine("成功更新了{0}行數據", r); // } //} //Console.ReadKey(); #endregion #region 查詢一條數據 ////1.創建連接字符串 //string constr = "Data Source=localhost;Initial Catalog=zwt;Integrated Security=True"; ////2.連接對象 //using (SqlConnection con = new SqlConnection(constr)) //{ // //3.sql語句 // string sql = "select count(*) from zwttable"; // //4.創建sqlcommand對象 // using (SqlCommand cmd = new SqlCommand(sql, con)) // { // //5.打開鏈接 // con.Open(); // //6.執行 // //sql語句執行時如果是聚合函數,ExecuteScalar()的返回不可能為null,如果不是聚合函數則需要判斷是否為null // //object count = (int)cmd.ExecuteScalar(); // //避免異常 // object count = Convert.ToInt32(cmd.ExecuteScalar()); // Console.WriteLine("zwttable表中共有{0}條數據", count); // } //} //Console.ReadKey(); #endregion #region 查詢多條數據 ////1.創建連接字符串 //string constr = "Data Source=localhost;Initial Catalog=zwt;Integrated Security=True"; ////2.連接對象 //using (SqlConnection con = new SqlConnection(constr)) //{ // //3.sql語句 // string sql = "select * from zwttable"; // //4.創建sqlcommand對象 // using (SqlCommand cmd = new SqlCommand(sql, con)) // { // //5.打開鏈接 // con.Open(); // //通過調用ExecuteReader()方法,將給定的sql語句在服務器端執行 // //執行完畢后,服務器端已經查好數據,但數據保存在數據庫服務器內存里。並沒有返回給應用程序, // //只是返回給應用程序一個reader對象,這個對象就是用來獲取數據的對象 // using (SqlDataReader reader = cmd.ExecuteReader()) // { // //接下來就是要通過reader對象一條一條獲取數據 // //1.在獲取數據前,先判斷一下本次執行查詢后,是否查到了數據 // if(reader.HasRows)//如果有數據為true,否則為false // { // //2.如果有數據,那么接下來就要一條條獲取數據 // //每次獲取數據之前,都要調用reader.Read()方法,向后移動一條數據,如果成功移動到了某條數據 // //上,則返回true,否則返回false // while (reader.Read()) // { // //獲取當前reader指向的數據 // //reader.FieldCount可以獲取當前查詢語句查詢到的列數 // for (int i = 0; i < reader.FieldCount; i++) // { // Console.Write(reader[i]+" | "); // } // Console.WriteLine(); // } // } // else // { // Console.WriteLine("沒有查到數據"); // } // } // } //} //Console.ReadKey(); #endregion } } }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM