第一篇:VB學(xué)生管理系統(tǒng)主要代碼
主要代碼如下:
Dim cn As New ADODB.Connection Dim rst0 As New ADODB.Recordset Dim rst1 As New ADODB.Recordset Dim rst2 As New ADODB.Recordset Dim rst3 As New ADODB.Recordset
Private Sub Cmd0add_Click()rst0.AddNew Cmd0add.Enabled = False Cmd0save.Enabled = True Cmd0del.Enabled = False Cmd0Exit.Enabled = True End Sub
Private Sub Cmd0del_Click()Cmd0add.Enabled = True Cmd0save.Enabled = True Cmd0del.Enabled = False Cmd0Exit.Enabled = True x = MsgBox(“確定要?jiǎng)h除嗎”, vbYesNoCancel + vbQuestion, “確認(rèn)”)If x = vbYes Then rst0.Delete End Sub
Private Sub Cmd0Exit_Click()cn.close Unload Me End Sub
Private Sub Cmd0save_Click()Cmd0add.Enabled = True Cmd0save.Enabled = False Cmd0del.Enabled = True Cmd0Exit.Enabled = True rst0.Update rst0.Sort = “應(yīng)聘人編號(hào)” End Sub
Private Sub Cmd1Exit_Click()cn.close Unload Me End Sub Private Sub Cmd1Import_Click()rst0.MoveFirst For i = 1 To rst0.RecordCount
rst1.AddNew
rst1.Fields(“應(yīng)聘人編號(hào)”)= rst0.Fields(“應(yīng)聘人編號(hào)”)
rst0.MoveNext
rst1.MoveNext Next i '
Cmd1Import.Enabled = False
' Cmd1OK.Enabled = True
' Cmd1Exit.Enabled = True
End Sub
Private Sub Cmd1OK_Click()rst1.Fields(“綜合評(píng)分”)=(Val(rst1.Fields(“計(jì)算機(jī)能力”))+ rst1.Fields(“業(yè)務(wù)能力”))* 0.5 If rst1.Fields(“綜合評(píng)分”)>= 6 Then
rst1.Fields(“初選狀態(tài)”)= “通過”
Else
rst1.Fields(“初選狀態(tài)”)= “未通過”
End If
rst1.Update
rst1.Sort = “應(yīng)聘人編號(hào)” End Sub
Private Sub Cmd2Exit_Click()cn.close Unload Me End Sub
Private Sub Cmd2Import_Click()rst1.close rst1.open “select * from 初選表 where 初選狀態(tài)='通過'”, cn rst1.MoveFirst For i = 1 To rst1.RecordCount
rst2.AddNew
rst2.Fields(“應(yīng)聘人編號(hào)”)= rst1.Fields(“應(yīng)聘人編號(hào)”)
rst2.Fields(“初選評(píng)分”)= rst1.Fields(“綜合評(píng)分”)
rst1.MoveNext Next i rst2.Update Cmd2Import.Enabled = False End Sub
Private Sub Cmd2OK_Click()rst2.Fields(“綜合評(píng)分”)=(rst2.Fields(“初選評(píng)分”)+ rst2.Fields(“外表形象”)+ rst2.Fields(“領(lǐng)悟反應(yīng)能力”))/ 3 If rst2.Fields(“綜合評(píng)分”)>= 6 Then
rst2.Fields(“錄用情況”)= “通過” Else
rst2.Fields(“錄用情況”)= “未通過” End If rst2.Update rst2.Sort = “應(yīng)聘人編號(hào)” rst2.MoveLast End Sub
Private Sub Cmd3Exit_Click()cn.close Unload Me End Sub
Private Sub Cmd3Import_Click()rst2.close rst2.open “selsct * from 面試表 where 錄用情況= '通過'” rst2.MoveFirst For i = 1 To rst2.RecordCount
rst3.AddNew
rst3.Fields(“應(yīng)聘人編號(hào)”)= rst2.Fields(“應(yīng)聘人編號(hào)”)
rst3.Fields(“面試分”)= rst2.Fields(“綜合評(píng)分”)
rst3.Fields(“開始錄用時(shí)間”)= Date
rst2.MoveNext Next i Cmd3Import.Enabled = False End Sub
Private Sub Cmd3OK_Click()rst3.Fields(“綜合考核分”)=(rst3.Fields(“面試分”)+ rst3.Fields(“筆試分”))/ 2 If rst3.Fields(“綜合考核分”)>= 6 Then
rst3.Fields(“是否錄用”)= “是”
Else
rst3.Fields(“是否錄用”)= “否”
End If
rst3.Update
rst3.Sort = “應(yīng)聘人編號(hào)”
rst3.MoveLast End Sub
Private Sub cxtg_Click()frmDataEnv.Show 1 End Sub
Private Sub DataGrid1_Click()
End Sub
Private Sub Form_Load()cn.ConnectionString = “DSN=xsgl;name=sa;pass=sa” cn.open cn.CursorLocation = adUseClient rst0.LockType = adLockPessimistic rst1.LockType = adLockPessimistic rst2.LockType = adLockPessimistic rst3.LockType = adLockPessimistic
rst0.open “select * from 登記表”, cn Set DataGrid1.DataSource = rst0
rst1.open “select * from 初選表”, cn Set DataGrid2.DataSource = rst1 If rst1.RecordCount <> 0 Then Cmd1Import.Enabled = False End If
rst2.open “select * from 面試表”, cn Set DataGrid3.DataSource = rst2 If rst2.RecordCount <> 0 Then Cmd2Import.Enabled = False End If
rst3.open “select * from 錄用表”, cn Set DataGrid4.DataSource = rst3 If rst3.RecordCount <> 0 Then Cmd3Import.Enabled = False End If End Sub 學(xué)生基本信息瀏覽窗口
圖5.6學(xué)生基本信息瀏覽
主要代碼如下:
string sql = string.Format(“select P_id from Tb_popedom order by P_id desc”);
if(GetConn.conn.State == ConnectionState.Closed)
{
GetConn.conn.Open();
}
SqlCommand c = new SqlCommand(sql, GetConn.conn);
SqlDataReader reader = c.ExecuteReader();
if(reader.Read())
{
string id = reader[“P_id”].ToString();
txt_id.Text =(int.Parse(id.Substring(1,(id.Length-1)))+ 1)+ “";
}
reader.Close();
GetConn.conn.Close();
////加載一級(jí)菜單
sql = ”select * from Tb_function where F_level='1'“;
if(GetConn.conn.State == ConnectionState.Closed)
{
GetConn.conn.Open();
}
sda = new SqlDataAdapter(sql, GetConn.conn);
sda.Fill(ds, ”fun");
……
}
第二篇:vb課程設(shè)計(jì)檔案管理系統(tǒng)代碼
一、登陸界面
運(yùn)行本系統(tǒng)需要進(jìn)行用戶名和密碼驗(yàn)證,沒有用戶名的可以在登陸界面注冊(cè),詳細(xì)注冊(cè)方法在下文有介紹。登陸界面效果圖如圖1-1:
圖1-1 登陸界面設(shè)計(jì)的代碼如下:
Private Sub Command1_Click()str1 = Text1.Text str2 = Text2.Text STRSQL = “SELECT * FROM 密碼表 WHERE 用戶名='” & str1 & “'” + “ AND 密碼='” & str2 & “ '” Data1.RecordSource = STRSQL Data1.Refresh If Data1.Recordset.EOF Then
MsgBox “用戶名或密碼錯(cuò)!”, 16, 提示“ Else
Form8.Show
Form1.Hide End If End Sub
Private Sub Command2_Click()
End End Sub
Private Sub Command3_Click()
Form6.Show End Sub
Private Sub Timer1_Timer()
Label1.Caption = Time End Sub
二、歡迎界面
當(dāng)用戶名和密碼驗(yàn)證成功后即可進(jìn)入歡迎界面如圖2-1
圖2-1 在歡迎界面的設(shè)計(jì)時(shí)用了一個(gè)時(shí)鐘控件,讓歡迎界面出現(xiàn)3秒后自動(dòng)消失進(jìn)入系統(tǒng)主界面,歡迎界面的代碼設(shè)計(jì)如下:
Private Sub Timer1_Timer()
If Timer1.Enabled = True Then
Form8.Hide
Form2.Show
Timer1.Enabled = False
End If End Sub
三、系統(tǒng)主界面
系統(tǒng)主界面可以進(jìn)行簡單的信息瀏覽(如圖3-1),在主界面設(shè)置了一些命令按扭,其中 “修改”、“刪除”、“打印”可以在主界面直接進(jìn)行,而“查詢”和“添加”需要打開另一個(gè)窗體操作。代碼設(shè)計(jì)如下:
Private Sub Command6_Click()
Data1.Recordset.MoveFirst End Sub Private Sub Command7_Click()
Data1.Recordset.MovePrevious
If Data1.Recordset.BOF Then Data1.Recordset.MoveFirst End Sub Private Sub Command8_Click()
Data1.Recordset.MoveNext
If Data1.Recordset.EOF Then Data1.Recordset.MoveLast End Sub Private Sub Command9_Click()
Data1.Recordset.MoveLast End Sub Private Sub Form_Load()
Timer1.Enabled = True
Label11.Left = Me.Width End Sub Private Sub Command10_Click()DataReport1.Show End Sub Private Sub Command3_Click()
ans = MsgBox(”確認(rèn)修改??“, 32 + 1, 提示”)
If ans = 1 Then
mbookmark = Data1.Recordset.Bookmark
Data1.Recordset.Edit
End If End Sub
Private Sub Command4_Click()
On Error Resume Next
Data1.Recordset.Delete
Data1.Recordset.MoveNext
If Data1.Recordset.EOF Then Data1.Recordset.MoveLast
MsgBox “確認(rèn)刪除?”, 32 + 1, “提示” End Sub
Private Sub Timer1_Timer()
Label11.Left = Label11.Left-200
If Label11.Left <=-Label11.Width Then
Form2.BackColor = vbRed
End If End Sub Private Sub Timer2_Timer()
Label12.Caption = Time End Sub
圖3-1
四、查詢
查詢的效果圖如圖4-1
圖4-1 代碼設(shè)計(jì)如下:
Private Sub Command1_Click()
a = “select * from學(xué)生檔案 where ”
n = 0 If Check1.Value = Checked Then
a = a + “ 姓名='” + DataCombo1 + “'”
Adodc1.RecordSource = a
Adodc1.Refresh
n = 1 End If If Check2.Value = Checked Then
If n = 1 Then
a = a + “ and ”
End If
a = a + “ 學(xué)號(hào) ='” + DataCombo2 + “'”
Adodc1.RecordSource = a
Adodc1.Refresh
n = 1 End If If Check3.Value = Checked Then
If n = 1 Then
a = a + “ and ”
End If
a = a + “ 院系='” + DataCombo3 + “'”
Adodc1.RecordSource = a
Adodc1.Refresh
n = 1 End If
If Check4.Value = Checked Then
If n = 1 Then
a = a + “ and ”
End If
a = a + “ 專業(yè)='” + DataCombo4 + “'”
Adodc1.RecordSource = a
Adodc1.Refresh
n = 1 End If If Check5.Value = Checked Then
If n = 1 Then
a = a + “ and ”
End If
a = a + “ 班級(jí)='” + DataCombo5+ “'”
Adodc1.RecordSource = a
Adodc1.Refresh
n = 1 End If If Check6.Value = Checked Then
If n = 1 Then
a = a + “ and ”
End If
a = a + “ 入學(xué)時(shí)間='” + DataCombo6 + “'”
Adodc1.RecordSource = a
Adodc1.Refresh
n = 1 End If End Sub
五、添加
添加效果圖如圖5-1
圖5-1
代碼設(shè)計(jì)如下:
Private Sub Command1_Click()
If Command1.Caption = “ìí?ó” Then
Command1.Caption = “è·è?”
mbookmark = Data1.Recordset.Bookmark
Data1.Recordset.AddNew
Data1.Recordset.MoveLast
Data1.Refresh
Text1(0).SetFocus
End If
MsgBox “è·è?ìí?ó?”, 32 + 1, “ìáê?” End Sub
Private Sub Command2_Click()For i = 0 To 13
Text1(i)= “" Next i
Text1(0).SetFocus End Sub
Private Sub Command3_Click()
Unload Form4 End Sub
六、修改、刪除、打印
這部分的效果圖如圖6-
1、圖6-2
圖6-1
圖6-2
代碼設(shè)計(jì)如下:
Private Sub Command4_Click()
On Error Resume Next
Data1.Recordset.Delete
Data1.Recordset.MoveNext
If Data1.Recordset.EOF Then Data1.Recordset.MoveLast
MsgBox ”確認(rèn)刪除?“, 32 + 1, ”提示“ End Sub
Private Sub Command3_Click()
ans = MsgBox(”確認(rèn)修改?“, 32 + 1, ”提示“)
If ans = 1 Then
mbookmark = Data1.Recordset.Bookmark
Data1.Recordset.Edit
End If End Sub
Private Sub Command6_Click()
Data1.Recordset.MoveFirst End Sub
七、統(tǒng)計(jì)
必須添加一個(gè)MSFlexGrid控件與Data控件連接,用來保存統(tǒng)計(jì)的結(jié)果,統(tǒng)計(jì)的效果圖如圖7-1
圖7-1
代碼設(shè)計(jì)如下:
Private Sub Command2_Click(Index As Integer)
Data1.RecordSource = ”select 院系,count(*)as人數(shù) from學(xué)生檔案? group by 院系“
Data1.Refresh End Sub Private Sub Command3_Click()
Data1.RecordSource = ”select專業(yè),count(*)as人數(shù) from學(xué)生檔案? group by 專業(yè)“
Data1.Refresh End Sub Private Sub Command4_Click()
Data1.RecordSource = ”select 入學(xué)時(shí)間,count(*)as人數(shù) from學(xué)生檔案? group by入學(xué)時(shí)間“
Data1.Refresh End Sub Private Sub Command5_Click()
Data1.RecordSource = ”select 籍貫,count(*)as人數(shù) from學(xué)生檔案? group by 籍貫“
Data1.Refresh End Sub Private Sub Command6_Click()
Data1.RecordSource = ”select 民族,count(*)as人數(shù) from學(xué)生檔案? group by 民族“
Data1.Refresh End Sub Private Sub Command7_Click()
Data1.RecordSource = ”select 政治面貌,count(*)as人數(shù) from學(xué)生檔案? group by 政治面貌“
Data1.Refresh End Sub Private Sub Command8_Click()
Unload Form9 End Sub
八、帳戶管理
(一)帳號(hào)注冊(cè)
由于本系統(tǒng)登陸需要用戶名和密碼驗(yàn)證,所以本系統(tǒng)設(shè)置了一個(gè)帳號(hào)注冊(cè)的功能,其效果圖如圖8-
1、圖8-2
圖8-1
圖8-2 帳號(hào)注冊(cè)代碼設(shè)計(jì)如下:
Private Sub Command1_Click()If Text1.Text = ”“ Then
MsgBox ”你沒有輸入用戶名!“, 16, ”提示“
Exit Sub End If If Text2.Text = ”“ Then
MsgBox ”你沒有輸入密碼!“, 16, ”提示“
Exit Sub End If If Text3.Text = ”“ Then
MsgBox ”你沒有再次輸入密碼!“, 16, ”提示“
Exit Sub End If
If Text2.Text <> Text3.Text Then
MsgBox ”兩次輸入的密碼不一致!“, 16, ”提示“
Exit Sub End If If Text2.Text = Text3.Text Then
If Command1.Caption = ”注冊(cè)“ Then
Command1.Caption = ”確認(rèn)“
mbookmark = Data1.Recordset.Bookmark
Data1.Recordset.AddNew
Text1.SetFocus
Else
Command1.Caption = ”注冊(cè)“
Data1.Recordset.Update
Data1.Recordset.MoveLast
End If
Text3.Text = ”“
MsgBox ”恭喜你注冊(cè)成功!“, 48, ”歡迎使用“ End If End Sub
(二)密碼修改
密碼修改的效果圖如圖8-
3、圖8-4
圖8-3
圖8-4 密碼修改代碼設(shè)計(jì)如下:
Private Sub Command1_Click()If Text1.Text = ”“ Then
MsgBox ”你沒有輸入用戶名!“, 16, ”提示“
Exit Sub End If If Text2.Text = ”“ Then
MsgBox ”你沒有輸入舊密碼!“, 16, ”提示“
Exit Sub End If If Text2.Text <> Text3.Text Then
MsgBox ”舊密碼錯(cuò)誤!“, 16, ”提示“
Exit Sub End If If Text3.Text = ”“ Then
MsgBox ”你沒有輸入新密碼!“, 16, ”提示“
Exit Sub End If If Text4.Text = ”“ Then
MsgBox ”你沒有再次輸入新密碼!“, 16, ”提示“
Exit Sub End If If Text3.Text <> Text4.Text Then
MsgBox ”兩次輸入的密碼不一致!“, 16, ”提示“
Exit Sub End If If Text3.Text = Text4.Text Then
prompt = ”確認(rèn)修改?“
answer = MsgBox(prompt, 32 + 0, ”確認(rèn)修改“)
If answer = vbYes Then
Data1.Recordset.Edit
Data1.Recordset.Fields(0)= Trim(Text1.Text)
Data1.Recordset.Fields(1)= Trim(Text3.Text)
Data1.Recordset.Update
Data1.Refresh
MsgBox ”密碼修改成功!“, vbOKOnly, ”密碼修改“
End If End If End Sub
(三)帳號(hào)注銷
效果圖如圖8-5
圖8-5 代碼設(shè)計(jì)如下:
Private Sub Command1_Click()If Text1.Text = ”“ Then
MsgBox ”你沒有輸入用戶名!“, 16, ”提示“
Exit Sub End If If Text2.Text = ”“ Then
MsgBox ”你沒有輸入舊密碼!“, 16, ”提示“
Exit Sub End If If Text2.Text <> Text3.Text Then
MsgBox ”舊密碼錯(cuò)誤!“, 16, ”提示“
Exit Sub End If If Text2.Text = Text3.Text Then
On Error Resume Next
Data1.Recordset.Delete
Data1.Recordset.MoveNext
If Data1.Recordset.EOF Then Data1.Recordset.MoveLast
MsgBox ”確認(rèn)注銷該用戶?“, 32 + 1, ”提示" End If End Sub
第三篇:vb課程設(shè)計(jì) 職工工資管理系統(tǒng)代碼
Form1: Dim errorCount As Integer Private Sub Command1_Click()If Text1.Text = “system” And Text2.Text = “1234” Then
Load Form2
Form2.Show
Me.Hide
MsgBox “登陸成功,歡迎您進(jìn)入職工工資管理系統(tǒng)”, vbInformation, “登陸成功”
Else
errorCount = errorCount + 1
If errorCount < 3 Then
MsgBox “用戶名或密碼錯(cuò)誤(第” & errorCount & “次)!”, vbOKOnly + vbExclamation, “登陸失敗”
Text1.SetFocus
End If
If errorCount >= 3 Then
Text1.Enabled = False
Text2.Enabled = False
Command1.Enabled = False
MsgBox “三次輸入用戶名或密碼錯(cuò)誤,程序?qū)⒆詣?dòng)退出!”, vbOKOnly + vbExclamation, “登陸失敗”
End
End If End If
End Sub
Private Sub Command2_Click()Unload Me End Sub
Private Sub Form_Load()errorCount = 0 End Sub
Private Sub Form_Unload(Cancel As Integer)If MsgBox(“是否要退出程序?”, vbYesNo, “退出提示”)= vbNo Then
Cancel = 1 End If End Sub
For i = 1 To jlNum
ygList(i).shifagongzi =(CSng(ygList(i).jibengz)+ ygList(i).gerensui
CSng(ygList(i).jingtie)
ygList(y).shifagongzi = ygList(zuishao).shifagongzi ygList(zuishao).shifagongzi = linShi.shifagongzi End If Next loadData End Sub
Private Sub Command5_Click()Dim linShi As YuanGong
linShi.ygnamg = InputBox(“請(qǐng)輸入要添加的姓名”, “添加員工-姓名錄入”)If Len(Trim(linShi.ygnamg))> 0 Then
linShi.jibengz = InputBox(“請(qǐng)輸入添加員工的基本工資”, “添加員工-基本工資錄入”)
If Len(Trim(linShi.jibengz))> 0 Then
linShi.jingtie = InputBox(“請(qǐng)輸入添加員工的津貼”, “添加員工-津貼錄入”)
If Len(Trim(linShi.jingtie))> 0 Then
linShi.gerensui = InputBox(“請(qǐng)輸入添加員工的個(gè)人所得稅”, “添加員工-個(gè)稅錄入”)
If Len(Trim(linShi.gerensui))> 0 Then
linShi.suidianfei = InputBox(“請(qǐng)輸入添加員工的水電費(fèi)”, “添加員工-水電費(fèi)錄入”)
If Len(Trim(linShi.suidianfei))> 0 Then
Open filedir For Append As #1
Write #1, linShi.ygnamg;linShi.jibengz;linShi.jingtie;linShi.gerensui;linShi.suidianfei
Close #1
MsgBox “添加員工成功!”, vbOKOnly + vbInformation, “成功”
jlNum = 0 If Len(Trim(filedir))> 0 Then
Open filedir For Input As #1
Do While Not EOF(1)
Line Input #1, a
If Len(Trim(a))> 0 Then
jlNum = jlNum + 1
End If
Loop
Close #1
ReDim Preserve ygList(jlNum)As YuanGong
jlNum = 0
Open filedir For Input As #1
Do While Not EOF(1)
jlNum = jlNum + 1
Input #1, ygList(jlNum).ygnamg
Input #1, ygList(jlNum).jibengz
Input #1, ygList(jlNum).jingtie
Next
Close #1
MsgBox “刪除員工成功!”, vbOKOnly + vbInformation, “成功”
jlNum = 0 If Len(Trim(filedir))> 0 Then
Open filedir For Input As #1
Do While Not EOF(1)
Line Input #1, a
If Len(Trim(a))> 0 Then
jlNum = jlNum + 1
End If
Loop
Close #1
ReDim ygList(jlNum)As YuanGong
jlNum = 0
Open filedir For Input As #1
Do While Not EOF(1)
jlNum = jlNum + 1
Input #1, ygList(jlNum).ygnamg
Input #1, ygList(jlNum).jibengz
Input #1, ygList(jlNum).jingtie
Input #1, ygList(jlNum).gerensui
Input #1, ygList(jlNum).suidianfei
Loop
Close #1
loadData
Command2.Enabled = True
Command3.Enabled = False
Command4.Enabled = False
Command5.Enabled = True
Command6.Enabled = True End If
Text1.Text = “姓名” & vbTab & “工資” & vbTab & “津貼” & vbTab & “所得稅” & vbTab & “水電費(fèi)” & vbCrLf
For i = 1 To jlNum
Text1.Text = Text1.Text & ygList(i).ygnamg & vbTab & ygList(i).jibengz & vbTab & ygList(i).jingtie & vbTab & ygList(i).gerensui & vbTab & ygList(i).suidianfei & vbCrLf
Next Else
MsgBox “刪除員工失?。 ? vbOKOnly + vbExclamation, “失敗” End If End Sub
Private Sub Command7_Click()
第四篇:vb學(xué)生成績管理系統(tǒng)論文
目 錄
摘要……………………………………………………………………………………….2 第一章 引言...........................................................3 第二章 系統(tǒng)設(shè)計(jì)的目的與要求...........................................3 1.1系統(tǒng)設(shè)計(jì)的目的....................................................3 1.2系統(tǒng)設(shè)計(jì)的實(shí)驗(yàn)環(huán)境................................................4 1.3系統(tǒng)設(shè)計(jì)的預(yù)備知識(shí)................................................3 1.4系統(tǒng)設(shè)計(jì)的要求....................................................4
第三章 系統(tǒng)的概述.....................................................3 2.1系統(tǒng)的需求........................................................3 2.2可行性分析........................................................4 第四章 前臺(tái)界面分析...................................................4 3.1 登陸界面..........................................................4 3.2信息查詢..........................................................6 第五章 數(shù)據(jù)庫的分析...................................................6 4.1 YONGHU表...........................................................7 4.2 STUDENT 表.........................................................7 4.3 SCORE表...........................................................7 4.4 COURSE表...........................................................8 第六章 軟件維護(hù).......................................................8 5.1數(shù)據(jù)維護(hù)..........................................................9 5.2代碼維護(hù)..........................................................9 結(jié)語及致謝............................................................9 參考文獻(xiàn)..............................................................9
VB學(xué)生成績管理系統(tǒng)
摘要:隨著科學(xué)技術(shù)在管理上越來越深入而廣泛的應(yīng)用,管理信息系統(tǒng)的技術(shù)已逐步成熟。學(xué)生成績管理系統(tǒng)是一個(gè)不斷發(fā)展的新型學(xué)科,任何一個(gè)學(xué)校要生存要發(fā)展,要高效率地把內(nèi)部活動(dòng)有機(jī)地組織起來,因?yàn)楣芾磉@些龐大的體系是非常困難的,要想有機(jī)地組織起來,就必須建立與自身特點(diǎn)相適應(yīng)的成績管理系統(tǒng)。本文對(duì)Visual Basic6.0應(yīng)用程序設(shè)計(jì)等工具進(jìn)行了較深入的學(xué)習(xí)和應(yīng)用,利用其提供的各種面向?qū)ο蟮拈_發(fā)工具,尤其是數(shù)據(jù)窗口這一能方便而簡潔操縱數(shù)據(jù)庫的智能化對(duì)象,主要完成了對(duì)學(xué)生成績管理系統(tǒng)的系統(tǒng)分析部分,界面的設(shè)計(jì)、數(shù)據(jù)庫的設(shè)計(jì)等;系統(tǒng)設(shè)計(jì)部分主要介紹了系統(tǒng)功能設(shè)計(jì)和數(shù)據(jù)庫設(shè)計(jì)及代碼設(shè)計(jì);
關(guān)鍵詞:visual basic,學(xué)生成績管理系統(tǒng),數(shù)據(jù)庫,查詢
Abstract:Along with science technique is on the management more and more thorough but extensive application, manage information system of technique already gradually mature.Student result management the system is a new academics which develops continuously, the whichever school wants to exist to want a development, high-efficiencily internal activity organically the organization get up, because manage these huge systems are very difficult, think organically the organization get up, have to build up is mutually accommodative with oneself characteristics of result management system.This text to Visual Basic6.0 application program design etc.the tool carried on more thorough study and application, making use of what it provide various development tool which face to object, is the intelligence that data window way's this ability is convenient and simple and direct to manipulate a database to turn object particularly, mainly completed to manage the analysis part of the system of system to student's result, the design, database of interface of design etc.;The system design part mainly introduced design and database design of the system function and code design;Keywords: visual basic,Student result management the system,database, enquiries
第一章 引言
在高科技不斷發(fā)展的今天,計(jì)算機(jī)技術(shù)己經(jīng)廣泛應(yīng)用到社會(huì)的各個(gè)領(lǐng)域。從六十年代中期爆發(fā)了著名的軟件危機(jī)開始,計(jì)算機(jī)界就一直在探索軟件開發(fā)理論和方法,以確保計(jì)算機(jī)技術(shù)能夠高效地應(yīng)用于各領(lǐng)域。隨著計(jì)算機(jī)技術(shù)不斷發(fā)展、完善,如何開發(fā)、應(yīng)用高效率計(jì)算機(jī)軟件、信息系統(tǒng)一直是開發(fā)人員在試圖解決的難題。盡管開發(fā)人員已經(jīng)提供了很多解決的方法,但是現(xiàn)在開發(fā)、應(yīng)用管理信息系統(tǒng)軟件的過程中,仍會(huì)碰到以下的情形。學(xué)生成績管理系統(tǒng)軟件應(yīng)用的好壞直接影響到學(xué)校以及學(xué)校今后發(fā)展。只有確定出簡單、安全、高效的開發(fā)設(shè)計(jì)方法并應(yīng)用于學(xué)生成績管理系統(tǒng)的開發(fā)設(shè)計(jì)中,才能使先進(jìn)的計(jì)算機(jī)工具為個(gè)人發(fā)展提供高效的服務(wù):才能開發(fā)出完整靈活的學(xué)生成績管理系統(tǒng),具有良好的可擴(kuò)充性、適應(yīng)性,系統(tǒng)安全性能高,具有友好的用戶界面并且操作簡便,因此,學(xué)生成績管理系統(tǒng)開發(fā)設(shè)計(jì)方法的應(yīng)用研究具有積極的現(xiàn)實(shí)意義。第二章 系統(tǒng)設(shè)計(jì)的目的與要求 2.1 系統(tǒng)設(shè)計(jì)的目的
本課程設(shè)計(jì)是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)重要的實(shí)踐性環(huán)節(jié)之一,是在學(xué)生學(xué)習(xí)完《程序設(shè)計(jì)語言(C)》課程后進(jìn)行的一次全面的綜合練習(xí)。本課程設(shè)計(jì)的目的和任務(wù): 2.2 系統(tǒng)設(shè)計(jì)的實(shí)驗(yàn)環(huán)境
硬件要求能運(yùn)行Windows 2000/XP操作系統(tǒng)的微機(jī)系統(tǒng)。C語言程序設(shè)計(jì)及相應(yīng)的開發(fā)環(huán)境。
2.3 系統(tǒng)設(shè)計(jì)的預(yù)備知識(shí)
熟悉C語言及C語言開發(fā)工C語言與Access。
第二章 系統(tǒng)的概述
本學(xué)生成績管理系統(tǒng)可以說是一個(gè)綜合性的學(xué)校學(xué)生成績管理系統(tǒng),這它集成了多種功能,因而具有較強(qiáng)的實(shí)用性和先進(jìn)性。2.1系統(tǒng)的需求
通過調(diào)查,要求系統(tǒng)需要有以下功能: ⑴ 由于操作人員的計(jì)算機(jī)知識(shí)普遍較差,要求有良好的人機(jī)界面;⑵ 由于該系統(tǒng)的使用對(duì)象多,要求有較好的權(quán)限管理;⑶ 原始數(shù)據(jù)修改簡單方便,支持多條件修改 ⑷ 方便的數(shù)據(jù)查詢,支持多條件查詢;⑸ 在相應(yīng)的權(quán)限下,刪除數(shù)據(jù)方便簡單,數(shù)據(jù)穩(wěn)定性好; ⑹ 數(shù)據(jù)計(jì)算自動(dòng)完成,盡量減少人工干預(yù);2.2可行性分析
由于本系統(tǒng)管理的對(duì)象單一,都是在校學(xué)生,且每個(gè)數(shù)據(jù)內(nèi)容具有較強(qiáng)的關(guān)聯(lián)性,涉及的計(jì)算過程不是很復(fù)雜。因此,比較適合于采用數(shù)據(jù)庫管理。且學(xué)校用于學(xué)生管理的微機(jī)都是PIII以上的機(jī)器,在存儲(chǔ)量、速度方面都能滿足數(shù)據(jù)庫運(yùn)行的要求。在技術(shù)難度方面,由于有指導(dǎo)老師的指導(dǎo)和相關(guān)參考文獻(xiàn),特別是網(wǎng)上資料,特別是參考其它程序的功能,因此完全可以實(shí)現(xiàn)。本系統(tǒng)的設(shè)計(jì)是在Windows XP中文版操作系統(tǒng)環(huán)境下,使用Visual Basic 6.0中文版開發(fā)成功的。第三章 前臺(tái)界面分析 3.1 登陸界面
主要代碼
Option Explicit Dim m As Integer
Dim conn As New ADODB.Connection Dim rs As New ADODB.Recordset Private rsmc As ADODB.Recordset Public username As String Private Sub cmdOk_Click()Dim ee As String rs.MoveFirst If m < 3 Then If Trim(txtusername.Text)= “" Or pwd.Text = ”“ Then MsgBox ”用戶名或密碼不能為空!請(qǐng)重新輸入!“, vbInformation, ”登錄信息“ Exit Sub End If Do While Not rs.EOF If rs.Fields(0)= txtusername.Text And rs.Fields(1)= pwd.Text Then MsgBox ”歡迎你進(jìn)入學(xué)生成績管理系統(tǒng),“ frmmain.Show Unload Me Exit Sub End If rs.MoveNext Loop m = m + 1 ee = MsgBox(”用戶名或密碼錯(cuò)誤!請(qǐng)重新輸入!“, vbCritical + vbRetryCancel, ”登錄信息“)'重試/取消 txtusername.Text = ”“ If ee = vbNo Then Unload Me Else pwd.Text = ”“ txtusername.SetFocus
End If Else MsgBox ”對(duì)不起,您的輸入次數(shù)已達(dá)到最大限度!請(qǐng)退出!“, vbExclamation, ”提示信息“ '提示信息,確定 End End If End Sub Private Sub Form_Load()Set conn = New ADODB.Connection
conn.Provider = ”Microsoft.Jet.OLEDB.4.0“ conn.ConnectionString = ”Data Source=“ & App.Path & ”aa.mdb“ conn.Open Set rs.ActiveConnection = conn With rs.Open(”select * from yonghu“).MoveFirst End With txtusername.Text = rs.Fields(0)Do While Not rs.EOF txtusername.AddItem(rs.Fields(0))rs.MoveNext Loop txtusername.Text = ”" End Sub 3.2信息查詢
信息查詢主要是對(duì)學(xué)生的基本信息和學(xué)生的成績進(jìn)行查詢。在查詢的過程你可以利用學(xué)號(hào)、課程號(hào)、專業(yè)名等進(jìn)行查詢。第四章 數(shù)據(jù)庫的分析
4.1 yonghu表
主要是登陸用戶所用的表。
4.2 student 表
學(xué)生的各種信息都來源于這個(gè)表。4.3 score表
此表是記錄學(xué)生成績信息表。4.4 course表
此表是記錄學(xué)生課程的表。第五章 軟件維護(hù)
在軟件運(yùn)行維護(hù)階段對(duì)軟件產(chǎn)品所進(jìn)行的修改就是維護(hù)。系統(tǒng)維護(hù)就是為了保證系統(tǒng)中的各個(gè)要素隨著環(huán)境的變化始終處于最新的,正確的工作狀態(tài)。系統(tǒng)維護(hù)的目的是保證管理信息系統(tǒng)正常而可靠地運(yùn)行,并能使系統(tǒng)不斷地得到改善和提高,以充
分發(fā)揮作用。
本系統(tǒng)的維護(hù)是面向系統(tǒng)中各種構(gòu)成要素的,根據(jù)維護(hù)對(duì)象的不同,系統(tǒng)維護(hù)的內(nèi)容可分為以下幾類: 5.1數(shù)據(jù)維護(hù)
本系統(tǒng)對(duì)數(shù)據(jù)的需求是不斷發(fā)生變化的,系統(tǒng)中查詢題目中數(shù)據(jù)要定期正常更新,或隨環(huán)境及需要的變化而進(jìn)行調(diào)整。此外,數(shù)據(jù)的備份與恢復(fù),都是數(shù)據(jù)維護(hù)的工作內(nèi)容。5.2代碼維護(hù)
隨著系統(tǒng)應(yīng)用范圍的擴(kuò)大,應(yīng)用環(huán)境的變化,系統(tǒng)中的各種代碼都需要進(jìn)行一定程度的增加、修改、刪除,以及設(shè)置新的代碼。結(jié)語及致謝
通過這次的設(shè)計(jì),讓我對(duì)VB的使用有了進(jìn)一步的了解。在我做設(shè)計(jì)的過程遇到了許多的困難。通過老師和同學(xué)的幫助, 一一化解了困難,并從中學(xué)到了很多編程方面的知識(shí)。
在本次畢業(yè)設(shè)計(jì)中,我要向我的指導(dǎo)老師致以深深的謝意,感謝指導(dǎo)老師在這段時(shí)間里在學(xué)習(xí)上和生活上所給予的悉心的教誨和無微不至的幫助,在我感覺到自己知識(shí)有所貧乏的時(shí)候給了我細(xì)心的指導(dǎo)和技術(shù)上的支持。使我自身的能力得到了不少的提高,這對(duì)于我以后的工作和學(xué)習(xí)都有一種巨大的幫助。感謝指導(dǎo)老師的耐心輔導(dǎo)。
參考文獻(xiàn)
[1] 宗大華,陳吉人.C語言程序設(shè)計(jì)教程.人民郵電出版社,2004-6-1 [2] 韓春成.C語言程序設(shè)計(jì)教程/21世紀(jì)高等院校規(guī)劃教材.中國水利水電出版社,2007,1,14 [3] 寧正元.數(shù)據(jù)結(jié)構(gòu)--用C語言描述.中國水利水電出版社,2005-4-27 [4] 李梅.C語言編程入門.化學(xué)工業(yè)出版社,2002,01,01 [5] 于華,都一兵.優(yōu)化Visual Basic.NET應(yīng)用程序的性能[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2004,10 [6] 邵英海.Visual Basic數(shù)據(jù)庫開發(fā)技術(shù)的探討.[J].丹東紡專學(xué)報(bào),2004,11,4 [7] 金鳳霞.VB中Paint Picture圖形方法的使用 CAJ原文下載[J]., 1999,04 [8] 譚浩強(qiáng).《C程序設(shè)計(jì)題解與上機(jī)指導(dǎo)(第3版)》.清華大學(xué)出版社,2005,7 [9] 聶雪軍,賀軍/譯.[美]Harvey M.Deitel, Paul J.Deitel /著.《C程序設(shè)計(jì)經(jīng)典教程(第4版)》,清華大學(xué)出版社,2006,3 [10] 李春葆,張植民,肖忠付.《C語言程序設(shè)計(jì)題典》.清華大學(xué)出版社 ,2002,7 [11] 張小潘/譯,[美]科漢/著.《C語言編程(第3版)》.電子工業(yè)出版社 ,2006,3
[12] 徐寶文 李志/譯,[美]Brian W.Kernighan, Dennis M.Ritchie /著.《C程序設(shè)計(jì)語言(第2版·新
版)》.機(jī)械工業(yè)出版社,2004,1 [13] 魯沐浴.《C語言最新編程技巧200例》.電子工業(yè)出版社,1997,1
[14] 梁
翎,李愛齊.《C語言程序設(shè)計(jì)實(shí)用技巧與程序?qū)嵗?上??破粘霭嫔?1996,5 [15] 陳國章.《Turbo C程序設(shè)計(jì)技巧與應(yīng)用實(shí)例》.天津科學(xué)技術(shù)出版社,1995,5 [16] 王士元.《C高級(jí)實(shí)用程序設(shè)計(jì)》.清華大學(xué)出版社,1996,6
第五篇:學(xué)生成績管理系統(tǒng)VB程序
登陸
登陸
Private Sub cmdLogin_Click()If txtUser.Text = “" Then
MsgBox(”請(qǐng)輸入用戶名!“)
txtUser.SetFocus Else Call openconn sql = ”select * from login where username='“ & Trim(txtUser.Text)& ”' and password='“ & Trim(txtPwd.Text)& ”'“ rs.Open sql, conn, adOpenDynamic, adLockOptimistic If rs.EOF Then
MsgBox ”用戶不存在!“
Else
Unload Me
frmMain.Show End If End If End Sub
退出
Private Sub cmdRegister_Click()Unload Me End Sub
功能選擇
選課管理
Private Sub cmdChoice_Click()frmChoice.Show Unload Me End Sub 退出
Private Sub cmdExit_Click()End End Sub 查詢
Private Sub cmdFind_Click()frmFind.Show Unload Me End Sub 成績管理
Private Sub cmdGrade_Click()frmGrade.Show Unload Me End Sub 學(xué)生管理
Private Sub cmdStu_Click()frmStu.Show Unload Me End Sub
學(xué)生管理
添加
Private Sub cmdAdd_Click()frmAddStu.Show Unload Me End Sub 刪除
Private Sub cmdDel_Click()rs.Delete MsgBox(”刪除成功!“)End Sub 編輯
Private Sub cmdEdit_Click()frmEditStu.Show Unload Me End Sub 查找
Private Sub cmdFind_Click()'查詢功能 If cboFind.Text = ”學(xué)號(hào)“ Then
If txtInput.Text = ”“ Then
MsgBox(”學(xué)號(hào)輸入不能為空!“)
txtInput.SetFocus
Else
Dim sql1 As String
Set rs1 = New ADODB.Recordset
sql1 = ”select * from stuInfo where ID='“ & txtInput.Text & ”'“
rs1.CursorLocation = adUseClient
rs1.Open sql1, conn, adOpenDynamic, adLockOptimistic, adCmdText
If rs.EOF Then
MsgBox(”查不到相關(guān)信息“)
txtInput.SetFocus
Else
Set DataGrid1.DataSource = rs1
DataGrid1.Refresh
End If
End If Else
If txtInput.Text = ”“ Then
MsgBox(”姓名輸入不能為空!“)
txtInput.SetFocus
Else
Dim sql2 As String
Set rs2 = New ADODB.Recordset
sql2 = ”select * from stuInfo where name='“ & txtInput.Text & ”'“
rs2.CursorLocation = adUseClient
rs2.Open sql2, conn, adOpenDynamic, adLockOptimistic, adCmdText
If rs.EOF Then
MsgBox(”查不到相關(guān)信息“)
txtInput.SetFocus
Else
Set DataGrid1.DataSource = rs2
DataGrid1.Refresh
End If
End If End If End Sub 返回
Private Sub cmdReturn_Click()frmMain.Show Unload Me End Sub 輸出窗口
Private Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
' txtInput.Text = DataGrid1.Columns.Item(4)''獲取選中行的第5列數(shù)據(jù)
End Sub 窗體
Private Sub Form_Load()
Dim sql As String
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
Call openconn
sql = ”select * from stuInfo“
rs.CursorLocation = adUseClient
rs.Open sql, conn, adOpenDynamic, adLockOptimistic, adCmdText
Set DataGrid1.DataSource = rs 'datagrid綁定數(shù)據(jù)源 End Sub
成績查詢
返回 Private Sub cmdReturn_Click()frmMain.Show Unload Me End Sub 確定
Private Sub Command1_Click()
lblGrade.Caption = Trim(cboCourse.Text)+ ”課程成績“
Dim sql1 As String
Set rs1 = New ADODB.Recordset
sql1 = ”select score.ID,score.Num,score.score from score, course where name='“ & cboCourse.Text & ”' and score.Num=course.Num“
'sql1 = ”select * from course“
rs1.CursorLocation = adUseClient
rs1.Open sql1, conn, adOpenDynamic, adLockOptimistic, adCmdText
Set DataGrid1.DataSource = rs1 End Sub 窗體
Private Sub Form_Load()
Dim sql As String
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
Call openconn
sql = ”select * from course“
rs.Open sql, conn, adOpenDynamic, adLockOptimistic
Do Until rs.EOF
cboCourse.AddItem rs(”name“)
rs.MoveNext
Loop End Sub
選課管理
返回
Private Sub cmdReturn_Click()frmMain.Show Unload Me End Sub 提交
Private Sub cmdSubmit_Click()If txtID = ”“ Then
MsgBox(”請(qǐng)輸入學(xué)號(hào)!“)
txtID.SetFocus ElseIf lstCourse.Text = ”“ Then
MsgBox(”請(qǐng)選擇課程!“)Else
Dim sql1 As String
Dim sql2, name As String
Set rs2 = New ADODB.Recordset
Set rs1 = New ADODB.Recordset
sql1 = ”select score.ID, score.Num from score , course where ID='“ & txtID.Text & ”' and name='“ & lstCourse.Text & ”' and score.Num=course.Num“
name = lstCourse.Text
sql2 = ”select Num from course where name='“ & name & ” '“
rs1.Open sql1, conn, adOpenDynamic, adLockOptimistic
rs2.Open sql2, conn, adOpenDynamic, adLockOptimistic
If rs1.EOF Then
rs1.AddNew
rs1(”ID“)= txtID.Text
rs1(”Num“)= rs2(”Num“)
rs1.Update
MsgBox(”選課成功!“)
rs1.Close
Else
MsgBox(”已選過該課!“)
End If End If End Sub 窗體
Private Sub Form_Load()
Dim sql As String
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
sql = ”select * from course“
Call openconn
rs.Open sql, conn, adOpenDynamic, adLockOptimistic
Do Until rs.EOF 'listbox控件利用循環(huán)讀取課程表中的課程名
lstCourse.AddItem rs(”name“)
rs.MoveNext
Loop End Sub
查詢
確定
Private Sub cmdOK_Click()If txtID = ”“ Then
MsgBox(”學(xué)號(hào)不能為空!“)
txtID.SetFocus Else
Dim sql As String
Dim sum1, sum2 As Single
Dim n As Integer
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
Call openconn
sql = ”select course.name , score.score , course.credit from score , course where score.ID='“ & txtID.Text & ”' and score.Num=course.Num“
rs.CursorLocation = adUseClient
rs.Open sql, conn, adOpenDynamic, adLockOptimistic, adCmdText
Set DataGrid1.DataSource = rs
sum1 = 0
sum2 = 0
n = 0
Do While Not rs.EOF
sum1 = sum1 + Val(rs(”score“))
sum2 = sum2 + Val(rs(”credit“))
n = n + 1
rs.MoveNext
Loop
lblAvg.Caption = Format(sum1 / n, ”0.0“)
lblCredit.Caption = sum2 End If End Sub 返回
Private Sub cmdReturn_Click()frmMain.Show Unload Me End Sub
修改學(xué)生信息
返回
Private Sub cmdReturn_Click()frmStu.Show Unload Me End Sub 提交
Private Sub cmdSubmit_Click()If txtID.Text = ”“ Then
MsgBox(”學(xué)號(hào)不能為空!“)
txtID.SetFocus ElseIf txtName.Text = ”“ Then
MsgBox(”姓名不能為空!“)
txtName.SetFocus ElseIf txtSex.Text = ”“ Then
MsgBox(”學(xué)分不能為空!“)
txtSex.SetFocus ElseIf txtAge.Text = ”“ Then
MsgBox(”年齡不能為空!“)
txtAge.SetFocus Else
Dim sql As String
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
Call openconn
sql = ”select * from stuInfo where ID='“ & txtID.Text & ”'“
rs.Open sql, conn, adOpenDynamic, adLockOptimistic
If Not rs.EOF Then
'判斷學(xué)號(hào)是否存在 rs(”name“)= txtName.Text
rs(”sex“)= txtSex.Text
rs(”age“)= txtAge.Text
rs(”pro“)= cboPro.Text
rs.Update
MsgBox(”修改成功!“)
Else
MsgBox(”學(xué)號(hào)不存在!“)
End If End If End Sub 窗體
Private Sub Form_Load()txtID = rs(”ID“)txtName = rs(”name“)txtSex = rs(”sex“)txtAge = rs(”age“)cboPro.Text = rs(”pro“)End Sub
添加學(xué)生
返回
Private Sub cmdReset_Click()frmStu.Show Unload Me End Sub 提交
Private Sub cmdSubmit_Click()If txtID.Text = ”“ Then
MsgBox(”學(xué)號(hào)不能為空!“)
txtID.SetFocus ElseIf txtName.Text = ”“ Then
MsgBox(”請(qǐng)輸入姓名!“)
txtName.SetFocus ElseIf txtSex.Text = ”“ Then
MsgBox(”請(qǐng)輸入性別!“)
txtSex.SetFocus ElseIf txtAge.Text = ”“ Then
MsgBox(”年齡不能為空!“)
txtAge.SetFocus Else
Dim sql As String
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
Call openconn
sql = ”select * from stuInfo where ID='“ & txtID.Text & ”'“
rs.Open sql, conn, adOpenDynamic, adLockOptimistic
If rs.EOF Then
'判斷學(xué)號(hào)是否存在 rs.AddNew
rs(”ID“)= txtID.Text
rs(”name“)= txtName.Text
rs(”sex“)= txtSex.Text
rs(”age“)= txtAge.Text
rs(”pro“)= cboPro.Text
rs.Update
MsgBox(”添加成功!“)
frmStu.Show
Unload Me
Else
MsgBox(”學(xué)號(hào)已存在!")
End If End If End Sub