這麼久都還沒有總結登入呢,說來話長,對於我來說最值得總結的就是登入了,因為它不僅涵蓋了我重構的乙個起跑點也涵蓋了我思路的乙個起跑線,也是技術的乙個改變,什麼是技術的改變,請大家接著往下看。
登入的過**是太痛苦了,那段時間簡直不想動計算機,因為不知道從何入手,整個人很懵逼,也導致效力極慢,浪費了很多時間,究其根底沒有找前輩們聊,還是沒有使用好站在巨人的肩膀上成長還有厚臉皮這兩大原則,該打該
打。引以為鑑。
廢話不多說,下面是我登入窗體所新涵蓋的技術: 列舉
判斷不同登入顯示不同介面,適用於三個或三個以上的介面或事物用此
泛型list替代datatable
之所以沒有用datatable呢?與及它們兩者之間的區別呢,我上篇部落格有提到,大家可以檢視,這裡就不再重複。
上面也提到了此登入窗體,我用的是根據使用者的賬號不同判斷進入介面的不同,下面就是我的重點**展示部分:
u層
tool.enum.logintype flag;
if (rbtnstu.checked == false && rbtntc.checked == false)
if (rbtntc.checked)
else
//呼叫列舉方法,返回給user
toolstu = facadestu.selectuser( student);
tooluser = facadeusers.selectuser(user);
frmstudent frmstu = new frmstudent();
frmoperator frmcaozuo = new frmoperator();
frmadmin frmguanli = new frmadmin();
switch (flag)
}
b層(student)
public tool.enum.logintype studentbll(student student)
)
if (list.count > 0)
else
//bool flag=false ;
查詢不到時,顯示沒有該使用者
//if (tablestu.rows[0][0].tostring ().trim () == null)
////if (tablestu.rows[0][11].tostring().trim() == "普通使用者" || tablestu.rows[0][3].tostring().trim() == "會員使用者")
////return flag; //返回數值,賬號存在
}
d層(user)
public list>
selectuser(enitity.users user)
;string sql = @"select * from users where username=@studentno and password =@password";
datatable dt = sqlhelper.executequery(sql, sqlparams, commandtype.text);//sqlhelper層查詢
converthelper convert = new converthelper();
list>
list = convert.converttolist>
(dt);
return list;//返回b層
}
列舉層
public enum logintype
厚臉皮,多找人交流,弄清楚有全域性把控就幹 c 登入窗體與主窗體的關閉
有許多人在用做c 做登入窗體時會遇到這樣的問題,登入成功後當前登入form關閉,開啟main窗體,但main窗體點關閉按鈕後程式仍在程序仍舊在執行。事實上,關閉main窗體,只是關閉了main窗體的執行緒,並沒有關閉程式的主線程,即程式的主線程為登入from。程式入問的main 方法 其中frmlo...
C 下WinForm程式設計 登入窗體的設計
我在csdn裡搜尋了很久,也沒有找到符合我要求的login文件,我這次把自己的心得和自己做的成果拿出來和大家分享一下,希望對後來的人能有一些幫助。我初次做,可能 寫的不是很規範,思路也不是很清晰,但是它能達到我要的效果就行了 希望哪位兄弟幫忙完善一下我的 我在資料庫裡有乙個 users 的表,如下 ...
C 下WinForm程式設計 登入窗體的設計
我在資料庫裡有乙個 users 的表,如下 id username userpasswd 1 admin admin 2 user user 3 guest guest 我準備這樣做,先判斷輸入的使用者名稱是否和表裡的username相同,如果相同,再比較相同username下的userpasswd...