C 重構之修改學生資訊

2021-08-28 14:15:32 字數 2335 閱讀 3712

前言

對學生的資訊進行維護的時候會涉及到對學生資訊的修改,那如何確定要修改的是哪個學生的資訊呢?這裡就涉及到了從乙個窗體的datagridview控制項選中值後把值傳給另乙個窗體上,現在我們一起來看一下是如何實現的吧! 詳解

之前咱們了解過如何在datagridview控制項中插入第0列,這裡就不再贅述,選中第0列之後,單擊修改應該出現修改資訊的窗體,並且該窗體的顯示如下:

窗體顯示出來之後,因為要顯示的資訊都已經在datagridview控制項中,所以修改窗體上應該有這些資訊,而且這些資訊中只有「年級、學院、專業」是可以更改的,其他的應該都不可以更改。

可不可更改的這個很好設定,那現在的問題就是選中一行資料之後怎麼把這行資料傳到修改資訊的窗體上呢?

1)在查詢學生資訊的窗體中:例項化實體層,然後把datagridview控制項裡的值傳給實體的屬性值

entity.userinfo stuinfo = new entity.userinfo();

stuinfo.cardno = this.datagridview1.rows[i].cells[1].value.tostring(); //把選中的學生的卡號賦值為cardno

stuinfo.username = this.datagridview1.rows[i].cells[2].value.tostring();

stuinfo.*** = this.datagridview1.rows[i].cells[3].value.tostring().trim();

stuinfo.department = this.datagridview1.rows[i].cells[4].value.tostring();

stuinfo.grade = this.datagridview1.rows[i].cells[5].value.tostring();

stuinfo.specialty = this.datagridview1.rows[i].cells[6].value.tostring();

stuinfo.balance = this.datagridview1.rows[i].cells[7].value.tostring();

2)在修改學生窗體中:定義全域性變數

public string cardno;

public string username;

public string ***;

public string department;

public string grade;

public string specialfy;

public string balance;

3)在查詢學生資訊的窗體中:例項化修改學生窗體,並把實體的屬性值賦值給學生窗體中的全域性變數

frmmodify frmmodify = new frmmodify();

frmmodify.cardno = stuinfo.cardno;

frmmodify.username = stuinfo.username;

frmmodify.*** = stuinfo.***;

frmmodify.department = stuinfo.department;

frmmodify.grade = stuinfo.grade;

frmmodify.specialfy = stuinfo.specialty;

frmmodify.balance = stuinfo.balance;

frmmodify.show();

4)在修改學生窗體中:修改學生窗體登入的時候把全域性變數的值傳到各個控制項中即可

txtcardno.text = cardno;

txtstudentname.text = username;

cbo***.text = ***;

cbodepartment.text = department;

cbograde.text = grade;

cbospecialty.text = specialfy;

txtbalance.text = balance;

如此一來,就會得到剛開始的窗體了,可以對裡面的text屬性進行修改,修改完成之後更新到資料庫就可以了。 結語

我的傳值過程中定義了很多的全域性變數,這不是最佳的實現方法,但是暫時可以滿足我們的功能需要,不知道大家有沒有什麼更好的辦法呢?歡迎交流。

6 4 修改學生成績

6 4 修改學生成績 25分 輸入n n 50 個學生的成績資訊,再輸入乙個學生的學號 課程以及成績,在自定義函式update score 中修改該學生指定課程的成績。函式介面定義 int update score struct student p,int n,int num,int course,...

修改學生成績 15分

輸入n n 50 個學生的成績資訊,再輸入乙個學生的學號 課程以及成績,在自定義函式update score 中修改該學生指定課程的成績。函式介面定義 int update score struct student p,int n,int num,int course,int score 其中p是結...

C 個人重構之修改密碼

人參果 技術點 1 在登陸窗體裡設定全域性變數,在系統任何窗體內都可以使用。2 分表修改,其實很簡單!山巔遠眺 設計理念 1 我認為,既然一般使用者是學生,操作員和管理員是老師或者更高階別人物。就應該分成兩張表。都有秘密。如下 披荊斬棘 u層 region 一般使用者修改密碼 if lbltppet...