C#數據庫

一、連接數據庫

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操作”代碼。

原文地址:https://www.cnblogs.com/Yuzex96ch/p/CSharpADO.html

时间: 2024-09-30 17:27:34

C#數據庫的相关文章

針對數據庫的數據的增刪改查的功能做接口

package poster1.dao; import java.sql.SQLException;import java.util.List; import poster_model.Typeinfo;import poster_model.Userinfo; /** * 針對數據庫的數據的增刪改查的功能做接口 * @author 1 * */public interface IDaoBBs<T> { /** * @param t * @return 向數據庫表里添加一條數據 * @thro

MS SQL Server 查看數據庫大小及壓縮Log文件

公司每月要統計人事數據庫的大小 下面是統計SQL Server數據庫大小的SQL語句: SELECT DB_NAME(database_id) AS [Database Name], [Name] AS [Logical Name], ((size * 8) / 1024) AS [Size(MB)],--size的原始單位是bit,所以要先乘以8轉成Byte,再乘以1024轉成MByte. [differential_base_time] AS [Differential Base Time]

FMDB與SQLite 數據庫應用示範:打做一隻簡單的電影資料庫 App

原文:http://www.appcoda.com/fmdb-sqlite-database/ 作者:GABRIEL THEODOROPOULOS 譯者:kmyhy 通常在 App 中使用數據庫并處理數據都會是一個重要和嚴肅的話題.在幾個月前我寫了一篇關於如何利用 SwiftyDB 來管理 SQLite 數據庫的文章.今天,我又提起數據庫這個話題,只不過這次我會介紹另一個庫.你也許聽說過了,它就是FMDB. 這兩個庫的功能都是一樣的,都是用來與 SQLite 數據庫打交道并允許你高效地管理你的

python連接mysql數據庫

第一步,安裝mysql數據庫. 這裏我安裝的是mariadb數據庫,版本5.5,並且配置好了字符集.此處不詳細敘述,相信大家沒有問題. 第二步,安裝mysql驅動. 首先說明一下有兩個主要的驅動: mysql-connector-python:是MySQL官方的纯Python驱动: MySQL-python:是封装了MySQL C驱动的Python驱动. 我一直都喜歡官方出品的東西,質量有保障嘛. 接下來安裝mysql-connector-python: 一開始打算使用命令安裝 pip inst

在Android中afinal框架下實現sqlite數據庫版本升級的辦法

public abstract void onUpgrade(SQLiteDatabase db,int oldVersion,int new Version) 這個方法在實現時需要重寫. public abstract void onUpgrade(SQLiteDatabase db,int oldVersion,int new Version) 這個方法在實現時需要重寫. onUpgrade方法會在數據庫需要升級的時候調用.可以用來增刪表或者其他任何操作.如果你想添加新的列你可以使用ALTE

數據庫ORACLE轉MYSQL存儲過程遇到的坑~(總結)

ORACLE數據庫轉MySQL數據庫遇到的坑 總結 最近在做Oracle轉mysql的工程,遇到的坑是真的多,尤其是存儲過程,以前都沒接觸過類似的知識,最近也差不多轉完了就總結一下.希望能幫到一些人(包括以後的自己)~ 1> 基本語法 變量聲明: oracle:   v_cnt varchar2(100) := ' ' ; mysql:   DECLARE v_cnt VARCHAR(100) DEFAULT  ' '; 存儲過程聲明: oracle:  procedure regNewReco

【Exchange 2019】PowerShell 整理 DAG數據庫

問,如何統計DAG的使用量? 答,你們可以參考微軟的部署文檔,進行數據庫的統籌( http://blog.51cto.com/happynews/2161716 ) 我司的情況是這樣的. 創建PS1,統計$Timestamp = Get-Date -Format ddMMMyyyy_HHmmss[String]$TempFile = "C:\Task\CDAG\MBX15Temp.csv"[String]$StatsFileP = "C:\Task\CDAG\Pri15MBX

Pycharm添加Mysql數據庫的坑

1.Did you install mysqlclient? 解决方法:Django连接MySQL时默认使用MySQLdb驱动,但MySQLdb不支持Python3,因此这里将MySQL驱动设置为pymysql,使用 pip install pymysql 进行安装,然后在工程文件__init__.py添加以下代码即可. #安装pymysql pip install pymysql #__init__.py import pymysql pymysql.install_as_MySQLdb()

nodejs對mongodb數據庫的增刪改查操作

首先要確保mongodb的正確安裝,安裝参照:http://docs.mongodb.org/manual/tutorial/install-mongodb-on-debian-or-ubuntu-linux 然後下載nodejs的mongodb的driver npm install mongodb 編寫一個測試的程序: 1 var mongodb = require('mongodb'); 2 var server = new mongodb.Server('localhost',27017,