今天學習的是資料庫的相關知識。
1. 資料庫的表必須要有主鍵,主鍵分為兩種,業務主鍵和邏輯主鍵。
業務主鍵是把有實際意義的字段作為主鍵,而邏輯主鍵是系統自動標識的一串唯一的數字。邏輯主鍵比業務主鍵更方便,不易出錯。
2. sql語句。
sql語句一般有四種,
(1) 插入(insert into 表名(字段,字段) values(字段對應的值,字段對應的值))
(2) 查詢(select 字段 from 表名 where 條件 order by 字段 desc/asc)(
order by
要放在where
後面)
(3) 更新(update 表名 set 字段相關的計算)
(4) 刪除(delete from 表名 where 字段=記錄)
除此之外,還有給字段起別名:(select 字段 as 別名 from 表名)
3. 模糊搜尋。
在sql語句後面加like 『x%』,%代表若干字元。
4. ado.net。
ado.net 是.net 中用來向資料庫提交執行sql語句的類庫。
5. 資料庫連線語句。
using(sqlconnection conn=new sqlconnection(「data source=./ initial catalog=mytest; user id=sa;password=*********」));
6. using。
using可以自動進行資料**,節約系統資源。用using比用close和dispose好。
7. 在vs中執行sql語句。
using(sqlcommend cmd=conn.creatcommend())
cmd.commandtext=「sql語句」
cmd.executenonquery()(用來執行
sql語句,一般用來執行
updata
,delete
,insert
語句)
或者用cmd.executescalar();(
用來返回只有一行一列的結果,即
selece
,返回值為
object型別)
8. executedreader。結果放在資料庫中,沒有放在客戶端,初始指標放在客戶端,每呼叫一次reader指標下移一條,直到移到最後一條為止
9. 注入漏洞。sql語句在vs中,可以直接用+來拼接,使用者輸入的文字與程式中的sql語句正好拼接成新的sql語句,造成漏洞。最好不用拼字串的方法讀取文字框的值。更好的賦值方法是,
//sql語句
cmd.commandtext = "select * from t_staff where age>@age";
//將文字框txtdataset的值賦到sql語句中
cmd.parameters.add(new sqlparameter("@age", txtdataset.text));
10. 離線資料集。
//sqldataadapter是乙個幫我們把sqlcommand查詢結果填充到dataset中的類
sqldataadapter adapter = new sqldataadapter(cmd);
//dataset相當於本地乙個複雜的集合(相當於list<>)
dataset dataset = new dataset();
//把sqlcommand查詢結果填充到dataset中
adapter.fill(dataset);//執行cmd並且把查詢結果放入dataset中
//指定資料庫中第幾個表
datatable table = dataset.tables[0];
//表中符合條件的行的集合
datarowcollection rows =table.rows;
//迴圈賦值
for (int i = 0; i < rows.count; i++)
{//遍歷全部行
datarow row = rows[i];
//取出第i行的age
int age = (int)row["age"];
//取出第i行的name
string name = (string)row["name"];
//輸出
messagebox.show(age + "," + name);
11. 好的習慣是需要連線資料庫時連線,不用時關閉,不用一直開啟鏈結。
2023年9月12日 網易
四題 第一題 第二題 給定乙個字串s,問該字串有多少個長度大於1的子串都是回文?回文 正序文本內容和 倒序文字內容都相同,如 aa,aba 輸入 字串 s,1 length s 100000 輸出 乙個整數,該字串內部有多少個字串都是回文 示例1輸入a輸出 0示例2 輸入abbcbb輸出4 原型 l...
2023年9月30日 雜記
悲催的女程式設計師 天天面對著電腦 本以 為傲的我 經過歲月的洗禮 也變得暗淡蠟黃了 以上不是我今天想表達的重點 我想說的是被人喜歡也是一種痛苦的事情 本已到了結婚生子的年齡 但是自從一段感情結束後 就再也找不到心跳的感覺了 我想要找的是乙個能個陪我度過一生的大叔 因為我覺得那樣的男人能夠包容我的缺...
2023年12月9日開發手記
現階段的任務 1 先把andriod python調通 2 網路傳輸攝像頭資料 到 ubuntu上儲存,3 移植測試演算法到安卓板子上 andriod python是為了要在安卓的板子上呼叫python程式,現在有兩個方案 方案一 直接在板子上移植程式,板子是定製的a5板,內部支援python,但缺...