【前言】
今天為大家分享一下,上機的做法,剛開始敲的時候我和小夥伴一起敲的上機,當時剛接觸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 程式設計,中間有些小障礙,但還是克服了...