C 重構 上機

2021-09-22 21:16:53 字數 3703 閱讀 4282

【前言】

今天為大家分享一下,上機的做法,剛開始敲的時候我和小夥伴一起敲的上機,當時剛接觸c#,感覺和尚摸不到頭腦,不夠隨著時間的投入,慢慢也就了解了。

【過程】

在做上機的過程中,其實還是和第一次機房上機的時候一樣,先了解它的流程,根據它的流程,然後敲**。

敲的時候,我是按照功能敲的,我當時不知道還能按照資料庫表敲,等我現在把所有的敲完了,我才知道。敲的時候先敲idal層(分析功能)。

idal層

datatable selectnum(entity.student_info student);

//查詢上機表卡號

datatable selectonline(entity.onlineentity online);

//訪問basicdata表

datatable selectbasicdata(entity.basicdata basic);

//插入上機表資訊

int insertonline(entity.onlineentity online);

//更新卡內餘額

int updatecard(entity.student_info student);

//新增下機資訊

int insertline(entity.line_info line);

//刪除上機表資訊

int delectonline(entity.onlineentity online);

dal層

;

string sql = @"select * from [student_info] where cardno=@cardno";

datatable table = sqlhelper.executequery(sql, sqlparams, commandtype.text);

return table;

}//查詢、更新上機表

public datatable selectonline(entity.onlineentity online)

;string sql = @"select * from [online_info] where cardno =@cardno";

datatable table = sqlhelper.executequery(sql, sqlparams, commandtype.text);

return table;

}//查詢基本資料設定表

public datatable selectbasicdata(entity.basicdata basic)

;string sql = "select * from [basicdata_info] where serial=@serial"; //設定sql語句查詢

datatable dt = sqlhelper.executequery(sql, sqlparams, commandtype.text);

//datatable dt = sqlhelper.executequery(sql, commandtype.text);

return dt;

}//插入上機表資訊

public int insertonline(entity.onlineentity online)

;string sql = @"insert into [online_info] (cardno,ontime,computer,studentname,ondate,date)values(@cardno,@ontime,@computer,@studentname,@ondate,@date)";

int insertonline = sqlhelper.executenonquery(sql, sqlparams, commandtype.text);

return insertonline;

}//更新卡內餘額

public int updatecard(entity.student_info student)

;string sql = @"update [student_info] set cardno=@cardno";

int res = sqlhelper.executenonquery(sql, sqlparams, commandtype.text);

return res;

}//插入下機資訊

public int insertline(entity.line_info line)

;string sql = "insert into [line_info] (cardno, ontime, offtime,consumetime,consume,status,computer) values (@cardno,@ontime,@offtime,@consumetime,@consume,@status,@computer)";

int lineres = sqlhelper.executenonquery(sql, sqlparams, commandtype.text);

return lineres;

}//刪除上機資訊

public int delectonline(entity.onlineentity online)

;string sql = "delete from [online_info] where cardno =@cardno";

int res = sqlhelper.executenonquery(sql, sqlparams, commandtype.text);

return res;}}

工廠層和其他都一樣,就不往上貼了。

public datatable selectnum(entity.student_info student)

//檢視online中卡號是否存在

public datatable selectonline(entity.onlineentity online)

//檢視basicdata表中餘額

public datatable selectbasicdata(entity.basicdata basic)

//插入上機資訊

public int insertonline(entity.onlineentity online)

//下機時更新學生表中的餘額

public int updatecard(entity.student_info student)

//下機時新增下機資訊

public int insertline(entity.line_info line)

//下機時刪除上機記錄

public int delectonline(entity.onlineentity online)

}

外觀層也和其他一樣,就不貼了。

ui層

#region 檢視是否有這個學號

if (txtcardno.text.trim() == " ")

//try

//else

else

else}}

【感受】

我感覺這裡的難點就是獲取basicdata裡面的返回資料,這點是相對其他功能比較難的,一會再寫一篇調錯的文章。

C 重構 上機調錯

1.dll檔名與載入時的dll檔名不一致。名字不一樣 2.dll檔案根本不存在,即出現丟失情況。沒存在 3.載入dll路徑錯誤,即dll檔案存在,但載入路徑不正確。路徑名問題 在ui層中沒有查詢到生成關於d層的dll檔案,程式執行的機制是在啟動層的bin資料夾下的debug裡面,必須得有程式集生成的...

機房重構 上機 訂餐

前幾天通過uml圖中的時序圖。讓我對於機房重構中的每一條線理解的更加清晰。曾經認為上機特別的亂,在一次偶遇中,得知了原來它能夠轉化成我們平時訂餐。以下就聽我說一說上機 訂餐的故事吧!當使用者 我 發出乙個訂餐 排骨蓋飯 指令。它就會通過我們的網路 通道 到達餐館 dal層 餐館通過推斷告訴我是否還有...

C 上機實驗

檔名稱 exe1 作 者 張宇恆 完成日期 2016 年 3 月 10 日 版 本 號 v1.0 對任務及求解方法的描述部分 輸入描述 兩個整數a,b 問題描述 求a,b兩數的和及差 程式輸出 a b a b 問題分析 略 演算法設計 略 心得體會 第一次用c 程式設計,中間有些小障礙,但還是克服了...