日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

浅谈牛腩

發(fā)布時(shí)間:2023/12/20 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 浅谈牛腩 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

? ? ? ?牛腩視頻講的還是蠻好的,從開(kāi)始的軟件安裝-數(shù)據(jù)庫(kù)設(shè)計(jì)-界面設(shè)計(jì)到代碼編寫(xiě),講的非常詳細(xì)。從細(xì)節(jié)之中學(xué)到很多東西。


數(shù)據(jù)庫(kù)時(shí)間綁定

? ? ? ? ? ?數(shù)據(jù)庫(kù)中設(shè)置了時(shí)間綁定,在插入數(shù)據(jù)的時(shí)候不必設(shè)置時(shí)間參數(shù)。插入數(shù)據(jù)后數(shù)據(jù)庫(kù)會(huì)自動(dòng)獲取插入數(shù)據(jù)的時(shí)間,進(jìn)行數(shù)據(jù)庫(kù)的填充。當(dāng)然這樣只能應(yīng)用于插入數(shù)據(jù),如果是更新數(shù)據(jù)就不可以了。

? ? ? ? ?應(yīng)用:以機(jī)房收費(fèi)為例,在注冊(cè)、充值、退卡、上機(jī)等地方,只要可以插入數(shù)據(jù)的地方就可以使用綁定數(shù)據(jù)的方法,非常方便,不用再界面獲取時(shí)間日期,減少了代碼的編寫(xiě)量。

? ? ? ??


SQL語(yǔ)句

? ? ? 之前在跨表查詢(xún)的時(shí)候,都是用的視圖,現(xiàn)在發(fā)現(xiàn)原來(lái)通過(guò)SQL語(yǔ)句就可以實(shí)現(xiàn)。牛腩老師講的很多SQL語(yǔ)句都很經(jīng)典。其中利用內(nèi)連接的方法跨表查詢(xún)時(shí),牛腩老師在查詢(xún)前10條新聞時(shí),是這樣寫(xiě)的:

? ? ? ?

? ? ? ?應(yīng)用:我們機(jī)房收費(fèi)中,做上下機(jī)的時(shí)候用到了卡表中的類(lèi)型、用戶(hù)類(lèi)型,又用到了學(xué)生信息。不用建立視圖,用內(nèi)連接的方式我們可以進(jìn)行查詢(xún)(前提是建立數(shù)據(jù)庫(kù)關(guān)系圖)

<span style="font-size:18px;"> select En.cardNo, En.type ,Stu.stuName ,stuDeparment,stuGrade from T_EnrollCard Eninner join T_StudentInfo Stu on Stu.cardNo=En.cardNo</span> ? ? ?

? ? ? ?如果熟悉數(shù)據(jù)庫(kù)的使用,可以大大簡(jiǎn)化我們寫(xiě)代碼的量。所以多學(xué)習(xí)一些數(shù)據(jù)庫(kù)的知識(shí)是很有必要的。


存儲(chǔ)過(guò)程和觸發(fā)器


? ? ? ?

? ? ? ? ?在現(xiàn)在理解的基礎(chǔ)上,這兩個(gè)是沒(méi)有什么區(qū)別的。根據(jù)百度百科百度情況:觸發(fā)器與存儲(chǔ)過(guò)程的唯一區(qū)別是觸

發(fā)器不能執(zhí)行EXECUTE語(yǔ)句調(diào)用,而是在用戶(hù)執(zhí)行Transact-SQL語(yǔ)句時(shí)自動(dòng)觸發(fā)執(zhí)行。

? ? ? ?進(jìn)行數(shù)據(jù)庫(kù)SQL測(cè)試的,如果是存儲(chǔ)過(guò)程我們可以使用?EXECUTE+存儲(chǔ)過(guò)程名稱(chēng)進(jìn)程測(cè)試,但是觸發(fā)器應(yīng)該就

不可以了。相比于VS中寫(xiě)SQL代碼執(zhí)行SQL語(yǔ)句,存儲(chǔ)過(guò)程中寫(xiě)SQL語(yǔ)句速度會(huì)更快一些。之前一直覺(jué)著存儲(chǔ)過(guò)程應(yīng)

該少用,后面了解到即使執(zhí)行一個(gè)SQL語(yǔ)句也可以使用存儲(chǔ)過(guò)程。相對(duì)于在代碼中寫(xiě)sql語(yǔ)句,在存儲(chǔ)過(guò)程中寫(xiě)代碼比

較好。存儲(chǔ)過(guò)程執(zhí)行SQL語(yǔ)句速度是比較快的。


強(qiáng)大的SqlHelper

? ? ??

private SqlConnection conn = null;private SqlCommand cmd = null;private SqlDataReader sdr = null;public SqlHelper()//構(gòu)造函數(shù){string connStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;//string connStr = "server=(local);database=newssystem;uid=sa;pwd=123456;";conn = new SqlConnection(connStr);}private SqlConnection GetConn(){if (conn.State == ConnectionState.Closed){conn.Open();}return conn;}/// <summary>/// 有參數(shù)的增刪改或存儲(chǔ)過(guò)程/// </summary>/// <param name="sql">sql語(yǔ)句或存儲(chǔ)過(guò)程</param>/// <param name="paras">參數(shù)</param>/// <param name="ct">命令參數(shù)</param>/// <returns></returns>public int ExecuteNoQuery(string sql, SqlParameter[] paras, CommandType ct){int res;using (cmd = new SqlCommand(sql, GetConn())){cmd.CommandType = ct;cmd.Parameters.AddRange(paras);res = cmd.ExecuteNonQuery();}return res;}/// <summary>/// 無(wú)參數(shù)的增刪改/// </summary>/// <param name="sql"></param>/// <returns></returns>public int ExecuteNoQuery(string sql,CommandType ct){int res;using (cmd = new SqlCommand(sql, GetConn())){cmd.CommandType = ct;res = cmd.ExecuteNonQuery();}return res;}/// <summary>/// 執(zhí)行無(wú)參查詢(xún)或存儲(chǔ)過(guò)程/// </summary>/// <param name="sql">sql查詢(xún)語(yǔ)句或存儲(chǔ)過(guò)程</param>/// <param name="ct">類(lèi)型存儲(chǔ)過(guò)程還是查詢(xún)的sql語(yǔ)句</param>/// <returns>返回集合</returns>public DataTable ExecuteTable(string sql,CommandType ct){DataTable dt=new DataTable ();cmd=new SqlCommand(sql,GetConn());cmd.CommandType = ct;using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection)){dt.Load(sdr);}return dt;}/// <summary>/// 執(zhí)行帶參數(shù)的SQL查詢(xún)語(yǔ)句或存儲(chǔ)過(guò)程/// </summary>/// <param name="sql">SQL查詢(xún)語(yǔ)句或存儲(chǔ)過(guò)程</param>/// <returns>參數(shù)集合</returns>public DataTable ExecuteTable(string sql,SqlParameter[] paras,CommandType ct){DataTable dt = new DataTable();cmd = new SqlCommand(sql, GetConn());cmd.CommandType = ct;cmd.Parameters.AddRange(paras);using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))//當(dāng)資源釋放是同時(shí)關(guān)閉數(shù)據(jù)庫(kù){dt.Load(sdr);}return dt;}

? ? ? ? ?在我們機(jī)房收費(fèi)中,或是編寫(xiě)網(wǎng)頁(yè)的時(shí)候,編寫(xiě)數(shù)據(jù)庫(kù)是一個(gè)很重要的環(huán)節(jié),而數(shù)據(jù)庫(kù)的編寫(xiě)自然要增刪改查,將其抽象成SQLHelper類(lèi)會(huì)方便我們很多。

總結(jié)

以上是生活随笔為你收集整理的浅谈牛腩的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。