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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

牛腩--SQLHelper

發布時間:2023/12/20 数据库 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 牛腩--SQLHelper 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天看了牛腩,整體看下來,感覺理解了很多代碼為什么這么用,為什么要通過參數來傳值或址,以下是總結的一些小知識,僅供參考

  • SqlConnection()參數是傳數據庫配置的字符串,如下:
server=DESKTOP-RN1CDVF;database=newssystem;uid=sa;pwd=123
  • SqlCommand()參數是需要執行的語句(增刪改)和SqlConnection類型的數據
SqlCommand cmd = new SqlCommand(cmdText, GetConn());
  • ExecuteNonQuery返回受影響行數
int res = cmd.ExecuteNonQuery();
  • SqlCommand cmd.Paramenters.AddRange(SqlParamter[])---括號里面添加的是SqlParamter類型的數組,可以通過外面傳參數,傳進來

public DataTable ExecuteQuery(string cmdtext, SqlParameter[] paras, CommandType ct){cmd.Parameters.AddRange(paras);}
  • SqlCommand cmd.CommandType有三種,只說兩種:CommandType.Text和CommandType.StoredProcedure,第一種執行SQL文本命令,第一種執行存儲過程的命令,再調用的時候聲明

  • 從數據庫中讀取出數據賦值給SqlDataReader類的對象

SqlDataReader?sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection)

?

一、將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的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。