参考文献
1. 王国荣.Visual Basic 6.0数据库程序设计.北京:人民邮电出版社
2. 占维等.Visual Basic 6.0数据库实用编程100例.北京:中国铁道出版社
3. 高春艳等.Visual Basic 6.0数据库开发关键技术与实例应用.北京:邮电出版社
4. 黄明、梁旭.Visual Basic 6.0信息系统设计与开发实例.北京:机械工业出版社
5. 四维科技、赵斯思.Visual Basic数据库编程技术与实例.北京:人民邮电出版社
6. 钱雪忠主编.新编Visual Basic程序设计实用教程.北京:机械工业出版社
7. 田文胜、刘阳、学勤.Visual Basic编程指南.北京:清华大学出版社
8. 刘滔、求是科技等.Visual Basic实效编程百例(第二版).北京:人民邮电出版社
9. 宋继林.数据库应用简明教程.北京:北京航空航天大学出版社
10. 闪四清.SQL Server实用简明教程.北京:清华大学出版社
11. 陈艳春、高文姬等.Visual Basic数据库项目案例导航.北京:清华大学出版社
12. 杨奎河.精彩编程控件.石家庄:河北科学技术出版社
13. 郑若忠,王鸿武.数据库原理与方法.长沙:湖南科技出版社
14. [美]David M.Kroenke著.施伯乐等译.数据库处理.北京:电子工业出版社
15. Michael J.Hemandez著.杜志秀等译.数据库处理设计经典.北京:中国电力出版社
16. Date CJ.孟小峰,王珊等译.数据库系统导论(第七版).北京:机械工业出版社
17. Hoffer J A,Prescott M B,McFadden F R.施伯乐,杨卫东等译.现代数据库管理系统(第6版).北京:机械工业出版社
18. Garcia-Molina H,Widom J.岳丽华,杨冬春等译.数据库全书.北京:机械工业出版社
19. 尹贵祥.Visual Basic 6.0程序设计案例教程.北京:中国铁道出版社
20. 肖桂东等著.SQL Server疑难解析.北京:电子工业出版社
21. 朱三元,钱乐秋等.软件工程技术概论.北京:科学出版社
22. (美) Rob Krumm等 轻松学用ADO编程 [M]. 郝启堂等译. 北京:电子工业电出版社,2001
附录:部分核心代码
系统登录、民兵信息录入、查询、修改、删除及密码修改代码在范文的正文中已有叙述,这里就不再重复。
一.民兵组织实力报表窗体中的代码:
Private Sub Command1_Click()
If Text1.Text = "" Then
MsgBox "请输入民兵组织编码", vbInformation + vbOKOnly, "提示"
Text1.SetFocus
Exit Sub
ElseIf Len(Text1.Text) <> 2 Then
MsgBox "请输入组织编码2位!", vbInformation + vbOKOnly, "提示"
Text1.SetFocus
Exit Sub
End If
If Text2.Text = "" Then
MsgBox "请输入名称", vbInformation + vbOKOnly, "提示"
Text2.SetFocus
Exit Sub
End If
Adodc1.RecordSource = "select * from 民兵组织编码 where 民兵组织编码 ='" & Trim(Text1.Text) & "' " '唯一性检验
Set DataGrid1.DataSource = Adodc1
Adodc1.Refresh
If Not (Adodc1.Recordset.EOF) And Not (Adodc1.Recordset.BOF) Then
MsgBox "输入的组织编码与表1所示记录中的编码重复了,请核查后再输!", vbInformation + vbOKOnly, "信息提示"
Adodc1.RecordSource = "select * from 民兵组织编码" '查看记录集
Set DataGrid1.DataSource = Adodc1
Adodc1.Refresh
Adodc1.Recordset.MoveLast
Exit Sub '当输入的组织编码已存在于某条记录时,显示该记录并提示信息(因编码的唯一性)
End If
Adodc1.Recordset.AddNew '添加一条新记录
Adodc1.Recordset("民兵组织编码") = Trim(Text1.Text)
Adodc1.Recordset("名称") = Trim(Text2.Text)
Adodc1.Recordset.Update '保存新记录
Adodc1.RecordSource = "select * from 民兵组织编码" '查看记录集
Set DataGrid1.DataSource = Adodc1
Adodc1.Refresh
DataGrid1.Refresh
Text1.Text = ""
Text2.Text = ""
End Sub
Private Sub Command2_Click()
'显示报表
DataReport1.Show
End Sub
Private Sub Command3_Click()
'浏览表3中的所有数据并根据"组织编码"按升序排列
Adodc3.RecordSource = "select *from 组织实力表 order by 组织编码 " '根据“组织编码”按升序排列
Set DataGrid3.DataSource = Adodc3
Adodc3.Refresh
End Sub
Private Sub Command4_Click()
Dim count As Integer
Dim I As Integer
If MsgBox("你确认要删除这条记录吗?", vbExclamation + vbOKCancel, "警告") = vbCancel Then '取消删除记录的行为
Exit Sub
End If
'删除表1中指定的记录
Adodc1.Recordset.Delete
Adodc1.Recordset.Update
'计算在表3中满足条件的记录数并删除(当表1中的某条记录删除时,在表3中与之相关联的记录也要删除,也就是级联删除)
count = Adodc3.Recordset.RecordCount
For I = 1 To count
Adodc3.Recordset.Delete
Adodc3.Recordset.Update
Adodc3.Recordset.MoveNext
Next I
End Sub
Private Sub Command5_Click()
Unload Me
End Sub
Private Sub DataGrid1_dblClick()
Text1.Text = Adodc1.Recordset("民兵组织编码")
Text2.Text = Adodc1.Recordset("名称")
'在表3中显示与该组织编码相关的所有记录
Adodc3.RecordSource = "select *from 组织实力表 where 组织编码='" & Trim(Text1.Text) & "'"
Set DataGrid3.DataSource = Adodc3
Adodc3.Refresh
End Sub
Private Sub DataGrid2_dblClick()
'添加的部队单位在同一组织编码下不能重复,要进行唯一性验证
Dim bdbm As String
bdbm = Adodc2.Recordset("部队编码")
Adodc3.RecordSource = "select * from 组织实力表 where 部队编码 ='" & bdbm & "'and 组织编码='" & Trim(Text1.Text) & "' " '唯一性检验
Set DataGrid3.DataSource = Adodc3
Adodc3.Refresh
If Not (Adodc3.Recordset.EOF) And Not (Adodc3.Recordset.BOF) Then
MsgBox "你准备添加的部队单位在该组织编码下已存在!如表3所示", vbInformation + vbOKOnly, "信息提示"
Adodc3.RecordSource = "select * from 组织实力表 where 组织编码='" & Trim(Text1.Text) & "'" '查看该组织编码下的所有记录
Set DataGrid3.DataSource = Adodc3
Adodc3.Refresh
Exit Sub '当添加的部队已存在于表3中同一组织编码下的某条记录时,显示该记录并提示信息(因在同一组织编码下部队编码的唯一性)
End If
Adodc3.Recordset.AddNew '向表3中添加记录(通过双击该记录来添加)
Adodc3.Recordset("组织编码") = Adodc1.Recordset("民兵组织编码")
Adodc3.Recordset("部队编码") = Adodc2.Recordset("部队编码")
Adodc3.Recordset("部队名称") = Adodc2.Recordset("部队名称")
Adodc3.Recordset.Update
Adodc3.RecordSource = "select * from 组织实力表 where 组织编码='" & Trim(Text1.Text) & "'" '查看该组织编码下的所有记录
Set DataGrid3.DataSource = Adodc3
Adodc3.Refresh
Adodc3.Recordset.MoveLast
End Sub
Private Sub DataGrid3_dblClick()
'删除表3中的某个记录(通过双击该记录来删除)
If MsgBox("你确认要删除这条记录吗?", vbExclamation + vbOKCancel, "警告") = vbCancel Then '取消删除记录的行为
Exit Sub
End If
Adodc3.Recordset.Delete
Adodc3.Recordset.Update
End Sub
二.民兵组织实力统计窗体中的代码:
Private Sub Command1_Click()
'统计一级行政区民兵人数
Dim count As Integer
count = Adodc2.Recordset.RecordCount
Text1.Text = count
Text1.SetFocus
End Sub
Private Sub Command3_Click()
Unload Me
End Sub
Private Sub Command4_Click()
'汇总十堰市军分区所有的民兵人数
Adodc2.RecordSource = "select * from 民兵信息录入"
Set DataGrid2.DataSource = Adodc2
Adodc2.Refresh
Text2.Text = Adodc2.Recordset.RecordCount
End Sub
Private Sub DataGrid1_Click()
'在表中显示隶属于该行政单位的民兵信息
Dim xz As String
xz = Adodc1.Recordset("单位编码")
Adodc2.RecordSource = "select 行政编码,个人编码,单位编码,姓名,性别,出生年月,电话,文化程度,是否培训,转业军人,政治面貌,职务 from 民兵信息录入 where 行政编码='" & Trim(xz) & "'"
Set DataGrid2.DataSource = Adodc2
Adodc2.Refresh
End Sub
Private Sub DataGrid2_dblClick()
'指出该民兵属于那个作战单位
Dim grbm As String
Dim str As String
grbm = Adodc2.Recordset("个人编码")
str = Left(grbm, 6)
Adodc3.RecordSource = "select *from 部队名称编码 where 部队编码='" & Trim(str) & "'"
Set DataGrid3.DataSource = Adodc3
Adodc3.Refresh
End Sub