牛腩--SQLHelper
生活随笔
收集整理的這篇文章主要介紹了
牛腩--SQLHelper
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
今天看了牛腩,整體看下來,感覺理解了很多代碼為什么這么用,為什么要通過參數來傳值或址,以下是總結的一些小知識,僅供參考
- SqlConnection()參數是傳數據庫配置的字符串,如下:
- SqlCommand()參數是需要執行的語句(增刪改)和SqlConnection類型的數據
- ExecuteNonQuery返回受影響行數
-
SqlCommand cmd.Paramenters.AddRange(SqlParamter[])---括號里面添加的是SqlParamter類型的數組,可以通過外面傳參數,傳進來
-
SqlCommand cmd.CommandType有三種,只說兩種:CommandType.Text和CommandType.StoredProcedure,第一種執行SQL文本命令,第一種執行存儲過程的命令,再調用的時候聲明
-
從數據庫中讀取出數據賦值給SqlDataReader類的對象
?
一、將open和close提取出來
第一種:(保存錯誤都會執行finally里面的代碼)
public int ExecuteNonQuery(string cmdText, CommandType ct){int res;try{SqlCommand cmd = new SqlCommand(cmdText, GetConn());cmd.CommandType = ct;res = cmd.ExecuteNonQuery();}catch (Exception){throw;}finally{if (conn.State == ConnectionState.Open){conn.Close();}}//連接語句return res;}第二種:(執行到return,就會釋放資源)
public int ExecuteNonQuery(string cmdtext, SqlParameter[] paras, CommandType ct){int res;using (cmd = new SqlCommand(cmdtext, GetConn())){cmd.CommandType = ct;cmd.Parameters.AddRange(paras);res = cmd.ExecuteNonQuery();}return res;}?
二、修改數據庫連接的字符串
將其添加到配置文件中,如
<appSettings/><connectionStrings><add name="connStr" connectionString ="server=DESKTOP-RN1CDVF;database=newssystem;uid=sa;pwd=123"/></connectionStrings>接下來我們要引用
using System.Configuration;然后再SQLHlper構造函數中寫
string connStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;?
三、如何避免SQL的注入
上圖就是注入,因為拼接字符引起,黑客可以通過超過你的設置的數據類型長度可以看到漏洞,如果你長度是20,可以通過上面的方法超過長度
如何做:
將增刪改的數據改為@XXX,設置為實體的屬性,由實體的屬性進行賦值。
?
總結
以上是生活随笔為你收集整理的牛腩--SQLHelper的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【公寓管理系统】
- 下一篇: 从零开始搭建仿抖音短视频App-前后端开