• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    防雷數(shù)據(jù)庫表間記錄的鏈式關聯(lián)處理

    2014-04-29 00:00:00高上雄高君宇
    計算機光盤軟件與應用 2014年2期

    摘 要:防雷檢測原始記錄數(shù)據(jù)表格復雜,進行信息化處理時表間的聯(lián)系尤其重要,本文采用數(shù)據(jù)結構中的雙鏈式處理,使表之間有機關聯(lián)起來,從而使刪除與插入高效方便。

    關鍵詞:數(shù)據(jù)庫表;記錄;鏈式關聯(lián)

    中圖分類號:TP311

    最近我們在開發(fā)一防雷業(yè)務管理系統(tǒng)時,采用一種在數(shù)據(jù)庫表中運用鏈式結構的數(shù)據(jù)存儲處理,在數(shù)據(jù)庫處理中達到了方便高效的效果,在這里簡單介紹一下。

    1 需求分析

    用戶為氣象局防雷中心,數(shù)據(jù)為防雷裝置安全檢測的原始記錄,一共有四張A4紙的表格,通過分析第一張表格是唯一的,其它三張表格在記錄時都可以重復產生若干張,他們共同構成一個防雷檢測的原始記錄。邏輯結構如下:

    上述四種表格轉化數(shù)據(jù)庫的四張表,分別為表一表二表三表四,表一結構如下:

    錄時,只要事先確定總頁數(shù),每加一頁加一個頁號還是很方便,但是在刪除和修改時帶來頁號與總頁數(shù)變化時要對表二表三表四中“總頁數(shù)”、“頁號”都進行檢測修改操作。如果頁數(shù)越多越復雜。

    2 鍵式結構的數(shù)據(jù)庫表間的處理方式

    大家知道在數(shù)據(jù)結構中鍵式結構最大的優(yōu)點就是提高了刪除插入的速度,為了實現(xiàn)鏈式結構的數(shù)據(jù)庫表間的處理,我們將“表一”添下一頁字段:nextpage,表二表三表四分別加上“上一頁”和“下一頁”兩個字段,即:uppage和nextpage。在頁面處理中分對應添加兩個按鈕或超鏈接“上一下”和“下一頁”,四個數(shù)據(jù)庫表的名稱分別為:fltable1、fltable2、fltable3、fltable4,每一個都有一關鍵字段id(自動型)。每一表格對應網(wǎng)頁頁面文件為:表名后加上.aspx,如:fltable2.aspx表示第二張表格頁面文件。

    2.1 添加原始記錄的鏈式處理

    執(zhí)行添加功能,開始出現(xiàn)表格一的頁面,表格一頁面只有“下一頁”按鈕,它初始狀態(tài)是打開表格二頁面,在表二頁面中有“上一頁”與“下一頁”按鈕,表格二的頁面的“下一頁”初始狀態(tài)是打開表格三頁面,同理表格三頁面有“上一頁”與“下一頁”按鈕,它的“下一頁”是打開表格四頁面,表格四頁面有“上一頁”與“下一頁”按鈕,它的下一頁是打開表格二頁面,這樣組成一循環(huán)鏈式打開,當執(zhí)行保存功能時就記下“上一頁”與“下一頁”。每一頁面在保存后即往內置對象session[“pageup”]存于本頁面表的名稱與所保存的記錄的id,如:session[“pageup”]=“fltable2”+rd[“id”],同時修改上一頁表格的“下一頁”nextpage字段與本頁表格的“上一頁”uppage字段的值。代碼如下:

    protected void btnSave_Click(object sender, EventArgs e)//保存uppage和nextpage

    { string strpageup= session[\"pageup\"].ToString();

    string curtablerecord = \"\";//當前頁面表對應數(shù)據(jù)庫表及記錄id組成,格式形同strpageup

    updateablelink(strpageup,curtablerecord);//修改本表uppage指針

    updatetablelink(curtablerecord, strpageup); //修改上一表的nextpage指針

    Session[\"pageup\"] = curtablerecord;

    }

    public void updatetablelink(string strpageup,string curtablerecord)//修改本表uppage指針或上一表的nextpage指針

    { SqlConnection con = new SqlConnection(ConfigurationManager.AppSettings[\"Connection\"]);

    con.Open();

    string tablename = curtablerecord.Substring(0, 8);

    int recordid = int.Parse(curtablerecord.Substring(9));

    string sql = \"update \" + tablename + \"set uppage='\" + strpageup + \"' where id=\" + recordid;

    SqlCommand com = new SqlCommand(sql, con);

    com.ExecuteNonQuery();

    }

    2.2 刪除時記錄間的鏈式處理

    protected void btnDelete_Click(object sender, EventArgs e)//保存uppage和nextpage

    { .........

    string struppage= rd[“uppage”].ToString();

    string strnextpageup= rd[“nextpage”].ToString();

    updateablelink(struppage, strnextpageup); //修改本頁面表格uppage指針

    updatetablelink(strnextpageup, struppage); //修改上一頁表格的nextpage指針

    Session[\"pageup\"] = strnextpageup;

    Delrecord();//刪除數(shù)據(jù)庫中對應的表的當前頁面記錄

    }

    實際刪除時注意,若要將一次檢字全部刪掉,應將其它表先刪,最后才能刪表一,否則會造成一些表二、表三、表四保留無用的垃圾數(shù)據(jù)。

    2.3 瀏覽時也很方便

    protected void btnNextpage_Click(object sender, EventArgs e)//瀏覽下一頁

    { string strnextpageup= rd[“nextpage”].ToString();

    string tablename = strnextpageup.Substring(0, 8);

    int recordid = int.Parse(strnextpageup.Substring(9));

    string strcallpage= tablename+”.aspx?id=”+ recordid;

    Response.Redirect(strcallpage); //調用下一頁顯示頁面

    }

    總之通過這樣改造,對數(shù)據(jù)庫表的刪除帶來很好的效果,若同時在表二表三表四中保留檢字號,總頁數(shù),頁號將它們結合起來在查找時速度會更快。

    參考文獻:

    [1]嚴蔚敏.數(shù)據(jù)結構[M].北京:清華大學出版社,2011(11).

    [2]毛弟弟.關系數(shù)據(jù)庫中多表間關聯(lián)規(guī)則算法研究[D].哈爾濱理工大學,2009(03).

    作者簡介:高上雄(1969.09-),男,湖北蘄春人,碩士研究生,講師、網(wǎng)絡工程師,研究方向:計算機數(shù)據(jù)庫、網(wǎng)絡編程;高君宇(1986.06-),男,內蒙古涼城人,本科,工程師,研究方向:雷電防御。

    作者單位:內蒙古烏蘭察布職業(yè)學院,內蒙古烏蘭察布 012000;烏蘭察布市卓資縣氣象局,內蒙古烏蘭察布 012300

    蓬溪县| 郎溪县| 望城县| 交城县| 韩城市| 满洲里市| 宁波市| 英山县| 循化| 博爱县| 德格县| 鹤庆县| 左贡县| 青铜峡市| 尖扎县| 庆城县| 洛南县| 弥勒县| 遵义县| 措美县| 福建省| 常州市| 墨玉县| 酉阳| 剑川县| 儋州市| 舟山市| 顺平县| 荣昌县| 桐城市| 呼图壁县| 南阳市| 和田县| 鄄城县| 敦化市| 英超| 兴文县| 凯里市| 特克斯县| 垦利县| 临漳县|