學習寫個Sqlserver的幫助類

2022-04-12 09:21:33 字數 1998 閱讀 3435

前兩天上課的內容總結了下,一般在連線層基本就呼叫那幾個類。

一般包括system.data.sqlclient和system.data下的sqlconnection,sqlcommand,sqldatareader這三個類。如果,要想從配置檔案中讀取的話,還需要system.configuration。

到底怎麼連線我想書上都有,就不寫了。寫單私貨,和老師在上課時講的不一樣的。

方法大家一開始是這麼寫的

static

string connstr = @"

data source=.\test;initial catalog=test;integrated security=true";

public

static sqldatareader getreader(string sql,params

sqlparameter pars)

}}

先獲取連線字串(這裡用變數意思一下),然後傳sqlparameters陣列和sql語句。大多數人也都這麼寫。但定義引數陣列太麻煩了,有好多字,也挺麻煩的。

後來想了想,有沒有更好的辦法呢。要是能讓他自己摘開sql變數多好。於是就寫了下面方法

//

拆解sql得到變數陣列,返回list型別的sql變數陣列

private

static list getparamaters(string

sql)

list

list = meat.split('

☆').where(s => s.contains("@"

)).tolist();

list =removerepeatpars(list);

return

list;

}

原理其實就是,sql變數前後字元畢竟也就那麼幾個麼「 ,=()<>」,然後用乙個稀有的字元替換下(比如上面那個小星星),以免破壞變數名。再用string.split

把他們按照沒用的字元截斷扔進乙個集合裡,這樣我們把變數前後都打斷,再拿出包含'@'字元的字串,這些就都是乾淨的變數名了。是吧。

不過之前還有一步,就是把重複的變數去掉!(有些時候用update的時候set乙個變數where乙個變數有可能會重複)

private

static list removerepeatpars(listlist)

}return

list;

}

前後索引都不一樣的,八成就是重複的。排除之後就剩下純淨的sql引數了!

然後就這麼改下原來的方法

private

static list getparamaters(string

sql)

list

list = meat.split('

☆').where(s => s.contains("@"

)).tolist();

list =removerepeatpars(list);

return

list;

}

把這兩個方法合併,sql的加工就寫好了。下面再改下之前的方法

public

static sqldatareader getreader(string sql, params

object

pars)

using (sqlconnection conn = new

sqlconnection(connstr))

return

comm.executereader();}}

}

然後就用加params的object的陣列代替原來的sqlparameters引數了,這樣就方便多了,再也不用定義sqlparameters了

如果下次再要寫引數就直接這樣寫

getreader(sql,1,"name",0.14,1m)
就好了。就像console.writeline()一樣方便(自我感覺)。

Android學習 寫個小例項

學了不少基礎的知識,拼乙個完整點的小例子吧!目標 完成乙個與pc 機互發訊息的聊天程式。我們就想試一試用socket 來實現雙機對聯。先試通socket 通訊,pc 機當伺服器,手機當客戶端。通常,我們寫pc 的socket 程式時,了解到,伺服器端是採用socket 監聽程式來監聽網路的某個埠,當...

寫個總的索引

會慢慢給會給這些題目排序,從易到難,按照順序做下去應該會更容易學懂pwn 同時解釋下為什麼基本每道題都要貼網上鏈結,有三個原因 1是有些題目我的確不會,是從他們那裡學來的,貼鏈結是應該的 2是有些題目我會,但是自己從頭寫指令碼太累了 然後從網上找的指令碼 3是我可能寫的不是很好,給你乙個原始的鏈結,...

C 學習筆記(8)寫個氣泡排序

1 氣泡排序的原理 氣泡排序的原理是反覆比較待排序陣列中所有相鄰的兩個資料,使他們按照公升序 或降序 排列。當待排序陣列中所有相鄰資料都比較過一次之後,待排序陣列中最小 或最大 的資料會被逐步交換到第一位,就像氣泡從水底慢慢公升到水面一樣,故名 氣泡排序演算法 2 演算法練習 氣泡排序口訣 n 個數...