C#數據庫
程序员文章站
2022-12-29 14:53:38
一、連接數據庫 1.定義連接數據庫的字符串 2.數據庫連接開啟、關閉 3.對數據庫連接進行優化 數據庫連接屬於稀缺資源的使用,使用完後必須立即關閉避免出現資源匱乏的情況。因此關閉數據庫連接應是強制的,可以通過兩種方式來確保數據庫資源使用完后立即釋放。 3.1 使用try...catch...fina ......
一、連接數據庫
1.定義連接數據庫的字符串
1 string source = "server=(local); integrated security=sspi; database=test";
2.數據庫連接開啟、關閉
1 var conn = new sqlconnection(source); 2 conn.open() 3 // do something 4 conn.close()
3.對數據庫連接進行優化
數據庫連接屬於稀缺資源的使用,使用完後必須立即關閉避免出現資源匱乏的情況。因此關閉數據庫連接應是強制的,可以通過兩種方式來確保數據庫資源使用完后立即釋放。
3.1 使用try...catch...finally語句塊
1 try 2 { 3 conn.open(); 4 // do something 5 } 6 catch (sqlexception e) 7 { 8 // log the exception 9 } 10 finally 11 { 12 conn.close(); 13 }
3.2 使用using語句塊
1 using (sqlconnction conn = new sqlconnection(source)) 2 { 3 conn.open(); 4 // do something 5 }
3.3 將using語句塊與try...catch...finally語句塊結合
1 try 2 { 3 using (var conn = new sqlconnction(source)) 4 { 5 conn.open(); 6 // do something 7 conn.close(); 8 } 9 } 10 catch (sqlexception e) 11 { 12 console.writeline(e.message); 13 }
二、操作數據庫
1. select操作
// 連接數據庫語句在這寫 string select = "select username from _users"; // 開啟數據庫語句在這寫 var cmd = new sqlcommand(select, conn); sqldatareader reader = cmd.executereader(); while (reader.read()) { console.writeline(reader[0]); } // 關閉數據庫語句在這寫
2. insert操作
1 // 連接數據庫語句在這寫 2 3 string insert = "insert into _users (id, name, username, password, score) values (@id, @name, @username, @password, @score)"; 4 5 // 開啟數據庫語句在這寫 6 7 var cmd = new sqlcommand(insert, conn); 8 sqlparameter[] param = { 9 new sqlparameter("@id", user.id), 10 new sqlparameter("@name", user.name), 11 new sqlparameter("@username", user.username), 12 new sqlparameter("@password", user.password), 13 new sqlparameter("@score", user.hightscore), 14 }; 15 for (int i = 0; i < 5; i++) 16 { 17 cmd.parameters.add(param[i]); 18 } 19 cmd.executenonquery(); 20 21 // 關閉數據庫語句在這寫
3. delect操作
1 string username = console.readline(); 2 3 // 連接數據庫操作寫在這 4 5 var delete = "delete from _users where username = '"+username+"'"; 6 7 // 開啟數據庫操作寫在這 8 9 var cmd = new sqlcommand(delete, conn); 10 int res = cmd.executenonquery(); 11 if (res == 0) 12 console.write("刪除失敗."); 13 else 14 console.write("刪除成功"); 15 16 // 關閉數據庫操作寫在這
4. update操作
1 string username = console.readline(); 2 string password = console.readline(); 3 // 連接數據庫寫在這 4 5 var update = "update _users set password = '"+new_password+"' where username = '"+username+"' "; 6 7 // 開啟數據庫操作寫在這 8 9 var cmd = new sqlcommand(update, conn); 10 var res = cmd.executenonquery(); 11 if (res == 0) 12 console.writeline("修改失敗."); 13 else 14 console.writeline("修改成功."); 15 16 // 關閉數據庫操作寫在這
三、在數據庫語句中傳遞參數的兩個方法
1.直接寫入法
參考第二節第3小節“delete操作”代碼。
2.給命令對象添加參數法
參考第二節第3小節“insert操作”代碼。