C#如何連接數(shù)據(jù)庫(kù)
一、與數(shù)據(jù)庫(kù)連接
1、設(shè)置連接字符串
string sqlConnStr = "Data Source=服務(wù)器名;Initial Catalog=數(shù)據(jù)庫(kù)名;User ID=用戶名;Password=密碼";//用戶密碼登錄 //或 string sqlConnStr = "Data Source=服務(wù)器名;Initial Catalog=數(shù)據(jù)庫(kù)名;Integrated Security=true;//主機(jī)用戶登錄 IntegratedSecurity這個(gè)字段表示是否使用用戶名密碼登錄
2、獲取數(shù)據(jù)庫(kù)連接
using System.Data.SqlClient; SqlConnection sqlConnection = new SqlConnection(sqlConnStr);
3、打開(kāi)數(shù)據(jù)庫(kù)連接
try
{
sqlConnection.Open();
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}打開(kāi)數(shù)據(jù)庫(kù)的時(shí)候注意需要捕捉異常
4、進(jìn)行SQL語(yǔ)句執(zhí)行
- 4.1、獲取count計(jì)數(shù)
string sql = "select 1"; SqlCommand cmd = new SqlCommand();//創(chuàng)建SQL語(yǔ)句處理對(duì)象 //或SqlCommand cmd = new SqlCommand(sql,sqlConnection);//構(gòu)造函數(shù)綁定 cmd.Connection = sqlConnection;//綁定連接 cmd.CommandText = sql;//綁定SQL語(yǔ)句 int count = (int)cmd.ExecuteScalar();
ExecuteScalar() : 作用是獲取返回表上的第一個(gè)單元格的數(shù)據(jù)
- 4.2、獲取多列數(shù)據(jù)ExecuteReader()
string sql = "select 1,2,3";
//省略綁定
SqlDataReader sqlDataReader = cmd.ExecuteReader();//數(shù)據(jù)對(duì)象
while (sqlDataReader.Read())//read方法 :前進(jìn)到下一條記錄 并且是否有下一行記錄
{
int a =(int)sqlDataReader[0];
int a =(int)sqlDataReader[1];
int a =(int) sqlDataReader[2];//索引從0開(kāi)始,按單元格檢索
// int a = sqlDataReader["字段名"];使用數(shù)據(jù)庫(kù)中的字段名同樣可以
}ExecuteReader() : 執(zhí)行SQL 語(yǔ)句返回一個(gè)sqlDataReader傳遞數(shù)據(jù)
- 4.3、執(zhí)行增刪改操作ExecuteNonQuery()
string sql = delete from [數(shù)據(jù)庫(kù)]; //省略綁定步驟 int line = cmd.ExecuteNonQuery();//返回記錄更改的行數(shù)
ExecuteNonQuery() :執(zhí)行后返回增刪改所改變的行數(shù)
5、關(guān)閉連接或者流
if (sqlDataReader != null)
{
sqlDataReader.Close();
}
if (cmd != null)
{
cmd.Dispose();
}
if (sqlConnection != null)
{
sqlConnection.Close();
}二、主要SQL回憶
1、增
insert into [表名](字段1,字段2···) values(值1,值2···);
2、刪
delete from [表名] where [條件]
3、改
update [表名] set 字段名 = 值 ,第二個(gè)修改 where [條件]
4、查
select * from [數(shù)據(jù)庫(kù)] where [字段名] = 值;
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
implicit關(guān)鍵字做自定義類型隱式轉(zhuǎn)換的方法
implicit 關(guān)鍵字用于聲明隱式的用戶定義類型轉(zhuǎn)換運(yùn)算符。如果轉(zhuǎn)換過(guò)程可以確保不會(huì)造成數(shù)據(jù)丟失,則可使用該關(guān)鍵字在用戶定義類型和其他類型之間進(jìn)行隱式轉(zhuǎn)換,這篇文章就給大家詳細(xì)介紹implicit關(guān)鍵字做自定義類型隱式轉(zhuǎn)換的方法,需要的朋友可以參考下2015-08-08
UnityShader使用Plane實(shí)現(xiàn)翻書(shū)效果
這篇文章主要為大家詳細(xì)介紹了UnityShader使用Plane實(shí)現(xiàn)翻書(shū)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-07-07
C#從文件或標(biāo)準(zhǔn)輸入設(shè)備讀取指定行的方法
這篇文章主要介紹了C#從文件或標(biāo)準(zhǔn)輸入設(shè)備讀取指定行的方法,涉及C#文件及IO操作的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-04-04
C#實(shí)現(xiàn)微信結(jié)合百度api獲取當(dāng)前用戶地理位置的方法
這篇文章主要介紹了C#實(shí)現(xiàn)微信結(jié)合百度api獲取當(dāng)前用戶地理位置的方法,結(jié)合實(shí)例形式分析了C#調(diào)用微信與百度API接口的相關(guān)操作技巧,需要的朋友可以參考下2017-07-07
基于Unity實(shí)現(xiàn)2D邊緣檢測(cè)
這篇文章主要介紹了如何利用Unity實(shí)現(xiàn)2D邊緣檢測(cè),從而達(dá)到人物描邊效果。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2022-04-04
C#中使用IFormattable實(shí)現(xiàn)自定義格式化字符串輸出示例
這篇文章主要介紹了C#中使用IFormattable實(shí)現(xiàn)自定義格式字符串輸出示例,本文直接給出實(shí)例代碼,需要的朋友可以參考下2015-06-06

