《Visual Basic程序设计基础》教材习题参考答案第九章Word下载.docx
《《Visual Basic程序设计基础》教材习题参考答案第九章Word下载.docx》由会员分享,可在线阅读,更多相关《《Visual Basic程序设计基础》教材习题参考答案第九章Word下载.docx(17页珍藏版)》请在冰豆网上搜索。
性别"
Text3:
出生日期)
Text4:
奖学金"
Text5:
简历"
OLE1:
照片"
Adodc1:
ConnectionString("
Provider=Microsoft.Jet.OLEDB.4.0;
_
DataSource=E:
\GYH\VB\学籍1b.mdb;
PersistSecurityInfo=False"
CommandType("
1-adCmdText"
select*from成绩"
DataGrid1:
Adodc1"
(2)主要事件过程代码
OptionExplicit
PrivateSubForm_Load()
Caption="
学籍信息编辑浏览"
Label1.Caption="
学号:
"
:
Label2.Caption="
姓名:
Label3.Caption="
出生年月:
Label4.Caption="
奖学金:
Label5.Caption="
简历:
Label6.Caption="
照片:
Check1.Caption="
性别(选中表示男,否则为女)"
Label7.Caption="
成绩信息查询显示"
:
Adodc1.Visible=False
EndSub
PrivateSubData1_Reposition()
Adodc1.RecordSource="
select成绩.课程号,课程名,成绩from学生,课程,成绩"
&
"
where学生.学号=成绩.学号and"
&
成绩.课程号=课程.课程号and"
成绩.学号='
Data1.Recordset("
)&
'
orderby成绩.课程号"
Label7.Caption=Trim(Data1.Recordset("
))&
Adodc1.Refresh
程序2.
(1)数据访问控件以及数据绑定控件的相关属性设置如下:
Provider=Microsoft.Jet.OLEDB.4.0;
select*from学生)
DimiAsInteger
学籍信息查询浏览"
选择查询方式:
Combo1.Text="
全部都显示"
Label2.Caption="
全部表文件数据浏览表格:
Label3.Visible=False
Text1.Visible=False:
Text1.Text="
Fori=0To2
Combo1.AddItemMid("
全部都显示按学号查询按姓名查询"
5*i+1,5)
Nexti
PrivateSubCombo1_Click()
SelectCaseCombo1.ListIndex
Case0
Text1.Visible=False:
Adodc1.RecordSource="
select*from学生"
Adodc1.Refresh
Case1
Label3.Caption="
输入查询条件(学号):
Text1.Visible=True
Label3.Visible=True:
Text1.SetFocus
Case2
输入查询条件(姓名):
EndSelect
PrivateSubText1_KeyDown(KeyCodeAsInteger,ShiftAsInteger)
IfKeyCode=vbKeyReturnThen
IfCombo1.ListIndex=1Then
Adodc1.Recordset.MoveFirst
Adodc1.Recordset.Find"
学号='
Text1.Text&
IfAdodc1.Recordset.EOFThen
Adodc1.Refresh:
MsgBox"
查无此人!
Else
select*from学生"
where_
学生"
+Text1.Text+"
的数据浏览表格:
EndIf
姓名='
where姓名='
EndIf
程序3.
Adodc1(xs):
PersistSecurityInfo=False"
2-adCmdTable"
Adodc2(kc):
课程"
Adodc3(cjcx):
RecordSource("
select成绩.学号,学生.姓名,成绩.课程号,课程.课程名,_
成绩.成绩from学生,课程,成绩where成绩.课程号=课程.课程号_
and成绩.学号=学生.学号"
cjcx"
DataList1:
RowSource("
xs"
)、ListField
("
)、BoundColumn("
DataList2:
kc"
)、ListField("
课程名"
课程号"
DimpAsByte
Fori=0To4
Label1(i).Caption=Mid("
优秀良好中等及格差等"
2*i+1,2)
Text1(i).Text="
Text1(i).BackColor=RGB(205,205,192)
Text1(i).Locked=True
cjcx.RecordSource="
select成绩.学号,学生.姓名,成绩.课程号,课程.课程名,"
成绩.成绩from学生,课程,成绩"
where成绩.课程号=课程.课程号and成绩.学号=学生.学号"
cjcx.Refresh:
成绩信息列表"
选择学生姓名:
选择课程名:
xs.Visible=False:
kc.Visible=False:
cjcx.Visible=False
学籍信息查询"
p=0
PrivateSubDataList1_Click()
p=0:
Callcjdctj
PrivateSubDataList2_Click()
p=1:
PrivateSubcjdctj()
Dimcjdcjs(5)AsInteger,dcaseAsByte,iAsByte
Ifp=0Then
cjcx.RecordSource="
select成绩.学号,学生.姓名,成绩.课程号,"
课程.课程名,成绩.成绩from学生,课程,成绩"
where成绩.学号='
DataList1.BoundText&
and(成绩.课程号=课程.课程号and"
成绩.学号=学生.学号)orderby成绩.课程号"
Frame1.Caption="
单位:
门"
Label2.Caption=Trim(DataList1.Text)&
Else
where成绩.课程号='
DataList2.BoundText&
成绩.学号=学生.学号)orderby成绩.学号"
人"
Label2.Caption=Trim(DataList2.Text)&
cjcx.Refresh
IfNotcjcx.Recordset.EOFThencjcx.Recordset.MoveFirst
WhileNotcjcx.Recordset.EOF
Ifcjcx.Recordset("
成绩"
)<
60Then
dcase=0
Els
dcase=(cjcx.Recordset("
)\10)–5
SelectCasedcase
Case4,5:
cjdcjs(0)=cjdcjs(0)+1
Case3:
cjdcjs
(1)=cjdcjs
(1)+1
Case2:
cjdcjs
(2)=cjdcjs
(2)+1
Case1:
cjdcjs(3)=cjdcjs(3)+1
Case0:
cjdcjs(4)=cjdcjs(4)+1
EndSelect
cjcx.Recordset.MoveNext
Wend
Fori=0To4:
Text1(i).Text=cjdcjs(i):
Nexti
程序4.
LockType("
4-adBatchOptimistic)
Adodc2:
4-adBatchOptimistic"
Adodc3:
用于显示编辑"
,但是本字段不设置数据绑定属性,输入或修改后的"
数据通过代码方式写入数据源中。
出生日期"
Text6:
Adodc2"
Text7:
学时数"
Text8:
学分数"
Text9:
开课学期"
Text10:
考试考查标志"
Text11:
用于显示编辑成绩表中的"
Text12:
Adodc3"
DimvltAsBoolean,rnAsVariant
Fori=0To7
Command1(i).Caption=Mid("
追加更新删除表首前翻后翻表尾返回"
Command1(3).Enabled=False:
Command1(4).Enabled=False
Label1.Caption="
学号:
姓名:
出生年月:
奖学金:
Check1.Caption="
性别(选中为男,否则为女)"
Label5.Caption="
课程号:
课程名:
Label7.Caption="
学时数:
Label8.Caption="
学分数:
Label9.Caption="
开课学期:
Label10.Caption="
考试考查标志:
Label11.Caption="
Label12.Caption="
Label13.Caption="
Label14.Caption="
“追加”、“删除”或是修改操作完成之后必须按“更新”按钮"
Caption="
学籍信息浏览编辑"
Text1.Text=Adodc1.Recordset("
):
Text5.Text=Adodc2.Recordset("
Text11.Text=Adodc3.Recordset("
Text12.Text=Adodc3.Recordset("
vlt=True
PrivateSubCommand1_Click(IndexAsInteger)
DimxhAsString,kchAsString,answerAsByte
OnErrorGoToerrshow
SelectCaseIndex
SelectCaseSSTab1.Tab
Case0
Adodc1.Recordset.AddNew:
Adodc1.Recordset("
)="
000000"
Case1
Adodc2.Recordset.AddNew:
Adodc2.Recordset("
0000"
Case2
Adodc3.Recordset.AddNew:
Adodc3.Recordset("
Adodc1.Recordset.UpdateBatch
Adodc2.Recordset.UpdateBatch
Adodc3.Recordset.UpdateBatch
answer=MsgBox("
真的确定要删除当前记录吗?
1+32,"
删除确认"
Ifanswer=1Then
xh=Adodc1.Recordset("
Adodc3.Recordset.MoveFirst
Do
Adodc3.Recordset.Find"
xh&
IfNotAdodc3.Recordset.EOFThen
Adodc3.Recordset.Delete:
Adodc3.Recordset.MoveNext
ExitDo
Loop
Adodc3.Recordset.MoveFirst:
Adodc1.Recordset.Delete
Adodc1.Recordset.MoveNext
kch=Adodc2.Recordset("
课程号='
kch&
Adodc2.Recordset.Delete
Adodc2.Recordset.MoveNext
Case3
Adodc2.Recordset.MoveFirst
Command1(4).Enabl