freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于asp的產(chǎn)品銷售管理系統(tǒng)設(shè)計與實現(xiàn)計算機(jī)系畢業(yè)論文(編輯修改稿)

2025-06-20 01:38 本頁面
 

【文章內(nèi)容簡介】 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計是整個系統(tǒng)中最重要的組成部分,用以實現(xiàn)用戶的各種操作,以下分別進(jìn)行介紹。 企業(yè)產(chǎn)品銷售管理系統(tǒng) 數(shù)據(jù)庫是由 8 張表組成。 表 1 產(chǎn)品銷售管理系統(tǒng)數(shù)據(jù)庫表 ID 數(shù)據(jù)表名稱 數(shù)據(jù)表用途 1 用戶表 保存登陸該系統(tǒng)的所有用戶 的信息 2 銷售年份表 保存銷售年份的銷售信息 3 銷售年表 保存銷售年信息 4 退換貨表 保存退換貨信息 5 歷史訂單表 保存歷史訂單信息 6 客戶表 保存客戶信息 7 訂單表 保存訂單信息 8 產(chǎn)品表 保存所有產(chǎn)品的相關(guān)信息 表 2 用戶表 字段 類型 長度 說明 用戶名 varchar 20 用戶名 密碼 varchar 20 密碼 用戶類型 varchar 20 用戶類型 真實姓名 varchar 20 真實姓名 電話 varchar 20 電話 地址 varchar 200 地址 表 3 銷售年份表 字段 類型 長度 說明 年份 nchar 10 年份 月份 int 4 月份 銷售額 float 999999999 銷售額 銷售利潤 float 999999999 銷售利潤 17 表 4 銷售年表 字段 類型 長度 說明 年份 nchar 10 年份 表 5 退貨表 字段 類型 長度 說明 姓名 nchar 10 姓名 產(chǎn)品名稱 nchar 50 產(chǎn)品名稱 [退 /換貨 ] nchar 50 [退 /換貨 ] 數(shù)量 int 99999999999 數(shù)量 提交時 間 datetimer 50 接收時間 是否處理 bit 4 是否處理 表 6 歷史訂單 字段 類型 長度 說明 姓名 nvarchar 10 姓名 產(chǎn)品名稱 nvarchar 20 產(chǎn)品名稱 購買時間 datetime 50 購買時間 購買數(shù)量 int 99999999999 購買數(shù)量 處理時間 datetime 50 處理時間 表 7 客戶表 字段 類型 長度 說明 客戶編號 nvarchar 10 客戶編號 姓名 nvarchar 10 姓名 性別 nchar 1 性別 年齡 int 6 年齡 電話 nvarchar 20 電話 地址 nvarchar 50 地址 18 表 8 訂單表 字段 類型 長度 說明 訂單編號 nchar 10 訂單編號 姓名 nchar 10 姓名 產(chǎn)品名稱 nchar 10 產(chǎn)品名稱 購買數(shù)量 int 99999999999 購買數(shù)量 下單時間 nchar 50 下單時間 是否處理 bit 2 是否處理 表 9 產(chǎn)品表 字段 類型 長度 說明 產(chǎn)品編號 nvarchar 10 產(chǎn)品編號 產(chǎn)品名稱 nvarchar 20 產(chǎn)品名稱 產(chǎn)品 產(chǎn)地 nvarchar 20 產(chǎn)品產(chǎn)地 產(chǎn)品型號 nvarchar 20 產(chǎn)品型號 產(chǎn)品介紹 nvarchar 1000 產(chǎn)品介紹 添加日期 datetime 50 添加日期 數(shù)量 int 99999999999 數(shù)量 統(tǒng)架構(gòu)設(shè)計 B/S 模式 隨著網(wǎng)絡(luò)規(guī)模的日益擴(kuò)大,應(yīng)用程序的復(fù)雜程度不斷提高,傳統(tǒng)的數(shù)據(jù)庫應(yīng)用架構(gòu)已經(jīng)不能勝任。為了充分利用網(wǎng)絡(luò)資源,實現(xiàn)信息最大程度的共享。 Browser/Serve 結(jié)構(gòu)伴隨著 Intemet 的發(fā)展而很快地發(fā)展起來。 Browser/Serve 體系結(jié)構(gòu)是一種三 層結(jié)構(gòu),其三級結(jié)構(gòu)組成如圖 14 所示 : 圖 14 B/S結(jié)構(gòu)示意圖 19 第 4 章 系統(tǒng) 實現(xiàn) 公用模塊及相關(guān)技術(shù)說明 母版頁模塊 圖 15 母版頁模塊 母版頁是 的一項功能,其工作方式與 Windows SharePoint Services 和 Office SharePoint Server 2020 在 中的工作方式相同。利用母版頁,您可以創(chuàng)建單個網(wǎng)頁模板并在應(yīng)用程序中將該模板用作多個網(wǎng)頁的基礎(chǔ),這樣就無需從頭創(chuàng)建所有新網(wǎng)頁。 為了 在瀏覽器中呈現(xiàn),母版頁實際上要求兩個獨(dú)立的部件,即母版頁自身和內(nèi)容網(wǎng)頁。母版頁定義公用布局和導(dǎo)航欄,以及附加到該母版頁的所有內(nèi)容網(wǎng)頁的默認(rèn)公用內(nèi)容。在瀏覽器中呈現(xiàn)網(wǎng)頁時,母版頁提供公用內(nèi)容,而內(nèi)容網(wǎng)頁則提供該網(wǎng)頁所特有的內(nèi)容。 以下代碼是母版頁中的內(nèi)容位置,將會被其他頁面替代。 asp:ContentPlaceHolder ID=ContentPlaceHolder1 runat=server /asp:ContentPlaceHolder 同時在母版頁加入了一個 ScriptManager,作為服務(wù)器端的控件, ScriptManager 回應(yīng) 頁面生命周期中的事件,利用這些事件協(xié)調(diào) AJAX 使用的所有控件、選項和代碼的活動。 ScriptManager 將關(guān)聯(lián)某一特定事件,當(dāng)事件發(fā)生時獲得通知,并根據(jù)環(huán)境配置多個設(shè)置;此過程將通過 頁面的呈現(xiàn)循環(huán)多次重復(fù)進(jìn)行。 asp:ScriptManager ID=ScriptManager1 runat=server /asp:ScriptManager 同時在母版頁上設(shè)計了一個 時間指示的文本標(biāo)簽,該 Label 能自動獲取當(dāng)前時間并進(jìn)行顯示,主要是由后臺的代碼實現(xiàn),在這里說明一下 Page_Load 函數(shù),這是一個后臺由系統(tǒng)自動調(diào)用的函數(shù),在頁面讀入或者回發(fā)的時候均會觸發(fā)這個函數(shù),執(zhí)行里面的函數(shù)體,在這邊對 Label 進(jìn)行賦值,其內(nèi)容由系統(tǒng)內(nèi)置的類 DateTime 來自動獲取當(dāng)前時間,并由ToString 按照 M月 d 日 H 時 m分 的格式轉(zhuǎn)換成字符串,完成顯示。 protected void Page_Load(object sender, EventArgs e) { = ( M 月 d 日 H 時 m 分 , )。 } 20 GridView 在有表格呈現(xiàn)的地方采用 GridView控件來實現(xiàn), GridView控件顯示表格的參數(shù)繁多,功能強(qiáng)大,以 ,首先放入一個 GridView控件并且調(diào)整其外觀參數(shù),GridView的外觀參數(shù) 非常多,這里用到了間隔行不同的外觀設(shè)定,即可得到如下圖所示的效果。 圖 16 GridView控件實現(xiàn)表格顯示數(shù)據(jù) 外觀設(shè)定完畢后,對不同的列,根據(jù)數(shù)據(jù)庫中的列名,依次進(jìn)行設(shè)置, HeaderText設(shè)置該列第一行表頭的文字, DataField 設(shè)置數(shù)據(jù)庫中的列名,綁定的時候?qū)@示其在數(shù)據(jù)庫中的數(shù)據(jù)部分。列又分為 BoundField, CheckBoxField, HyperLinkField, ImageField,ButtonField, CommandField, TemplateField。本系統(tǒng)將使用其中的 5 種, BoundField是文字區(qū)域,普通數(shù)據(jù)則使用 BoundField,如果當(dāng)前 列是可以點(diǎn)擊的超鏈接,則使用HyperLinkField , HyperLinkField 的 設(shè) 置 里 有 導(dǎo) 航 地 址 , 可 以 設(shè) 置如 ” ~/?id={0}” 的格式,由 {0}表示該行的值,這樣的格式將使每一行導(dǎo)向不同的頁面。單選框 Field 的 Value 設(shè)置由 True 或 False 控制,而最重要的 CommandField則提供了刪除,更新的操作,與其他控件相同,設(shè)置了 OnRowDeleting 和 OnRowUpdating后在后臺設(shè)置其執(zhí)行函數(shù)。 執(zhí)行函數(shù)采用 SQL 語句, DELETE, UPDATE 來操作數(shù)據(jù)庫,具體實 現(xiàn)可以從源代碼中查看,關(guān)于 GridView 的數(shù)據(jù)綁定,同樣也要用到 SQL 的 Select 語句,由實例化的BaseClass1中的 ReadTable獲取某個數(shù)據(jù)表內(nèi)的數(shù)據(jù),然后用 DataBind方法來綁定數(shù)據(jù)。 關(guān)于 GridView 的分頁,采用了兩種方法實現(xiàn),其一是內(nèi)部提供的方法,控件提供下面 的 頁 碼 索 引 和 上 一 頁 、 下 一 頁 等 按 鈕 , 只 需 給 響 應(yīng) 事 件 的 函 數(shù)21 GridView1_PageIndexChanging 添加改變頁碼和重新綁定的 C代碼即可。另一種則用到了新的類 PagedDataSource,由該類來為數(shù)據(jù)表分頁,并 且需要自己編寫函數(shù)實現(xiàn)翻頁功能,其優(yōu)點(diǎn)是有更大的靈活性,可以自由安排翻頁控制的顯示方式,例如還可以顯示總頁數(shù),當(dāng)前頁碼等額外信息。 由于很多情況下頁面沒有辦法填充整個 PageSize,而控件本身也不提供自動填充的功能。所以本系統(tǒng)使用了 GridView1_DataBound 響應(yīng)函數(shù),在其中計算該頁欠缺的行數(shù),然后進(jìn)行填充,生成足夠多的新行,并且給每行的所有單元格附上一個空格。 和 圖 17 和 是外部鏈接樣式表文件,在該文件內(nèi)部定義好 css 樣式后,鏈接該文件如下,即可使用 id=” xxx” 來引用 中定義的樣式。 link href=~/ rel=stylesheet type=text/css / 定義樣式的格式,例子: MainDiv { width: 740px。 margintop: 0px。 marginleft:auto。 marginright:auto。 } 而 是一些網(wǎng)站的具體設(shè)置,其中大部分設(shè)置除了可以編輯該文件來實現(xiàn)外,還可以通過圖形界面的設(shè)置來修改該文件,在這里需要將數(shù)據(jù)庫的 ConnectionString 內(nèi)容放在 里面,具體內(nèi)容為: connectionStrings add name=ConnectionString connectionString=Data Source=.\SQLEXPRESS。AttachDbFilename=|DataDirectory|\。 Integrated Security=True。User Instance=True providerName=/ /connectionStrings 其中, Data Source=.\SQLEXPRESS 表示這里使用的是 SQL Server Express ,AttachDbFilename=|DataDirectory|\ APPDATA目錄下的 , Integrated Security=True。User Instance=True 是安全性設(shè)置以及是否新建用戶例程的選項。 22 基礎(chǔ)函數(shù)類 Class_Base 在 App_CODE 中新建一個 .cs 文件,該文件包含了一個命名空間 。在命名空間下設(shè)立基礎(chǔ)的 SQL 調(diào)用函數(shù)類 Class_Base,該類主要由以下幾個函數(shù)構(gòu)成,完成的功能包括,執(zhí)行 SQL 語句,讀寫數(shù)據(jù)表 DataTable,讀寫數(shù)據(jù)集 DataSet,獲得數(shù)據(jù)集DataSet,獲得 SQLDataReader,以及讀取一行中的某個字段的值。其內(nèi)容按照 數(shù) 據(jù)模型來設(shè)計,具體內(nèi)容見下。 //讀寫數(shù)據(jù)表 public DataTable ReadTable(String strSql) //讀寫數(shù)據(jù)集 public DataSet ReadDataSet(String strSql) public DataSet GetDataSet(String strSql, String tableName) public SqlDataReader readrow(String sql) //讀某一行中某個字段的值 public string Readstr(String strSql, int flag) public void Execsql(String strSql) ReadTable:該函數(shù)返回類型為 DataTable ,首先創(chuàng)建一個數(shù)據(jù)表 dt,定義一個新的連接控件并且初始化,打開連接,定義初始化新的連接適配器并且用來填充數(shù)據(jù)到 dt,關(guān)閉連接,返回這個 dt。 ReadDataSet:該函數(shù)返回類型為 DataSet,首先創(chuàng)建一個數(shù)據(jù)集 ds,定義一個新的連接控件并且初始化,打開連接,定義初始化新的連接適配器并且用來填充數(shù)據(jù)到 ds,關(guān)閉連接,返回這個 ds。 GetDataSet:該函數(shù)返回類型為 DataSet,首先創(chuàng)建一個數(shù)據(jù)集 ds,定義一個新的連接控件并且初始化,打開連接,定義初始化新的連接適配器并且用來填充數(shù)據(jù)到 ds,關(guān)閉連接,返回這個 ds。同上一個函數(shù)相比多了一個參數(shù), Readrow:該函數(shù)的返回類型為 SqlDataReader,定義一個新的連接控件并且初始化,打開連接,定義初始化新的連接適配器,關(guān)閉連接,若 Reader 中有數(shù)據(jù)則返回。 Readstr:該函數(shù)返回類型為 string,首先創(chuàng)建一個數(shù)據(jù)集 ds,定義一個新的連接控件并且初始化,打開連接,定義初始化 新的連接適配器并且用來填充數(shù)據(jù)到 ds,關(guān)閉連接,返回這個 ds 中的某個元素。 Execsql:定義一個新的連接控件并且初始化,打開連接,執(zhí)行 SQL 語句,關(guān)閉連接。 23 管理導(dǎo)航 當(dāng)用戶
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1