《Visual Basic程序设计与实训 教学课件 作者 苏玉雄 习题答案第11章答案》由会员分享,可在线阅读,更多相关《Visual Basic程序设计与实训 教学课件 作者 苏玉雄 习题答案第11章答案(6页珍藏版)》请在金锄头文库上搜索。
1、1、举例说明记录、字段、表与数据库之间的关系?2、怎样使用SQL语句修改特定表中字段的值?3、练习编写一个公司的通讯录查询程序,要求可以实现添加、删除、查询等功能? 答案:1、我们先了解什么是关系数据库,关系数据库就是将数据表示为表的集合,通过建立简单表之间的关系来定义结构的一种数据库。不管表在数据库文件中的物理存储方式如何,它都可以看作一组行和列,与电子表格的行和列类似。在关系数据库中,行被称为记录,而列则被称为字段。下面是一个学籍表的例子。学籍号姓名性别出生年月日籍贯爱好0605001李云杰女1990-8-5湖南长沙游泳0605002张飞男1990-12-20湖南岳阳足球0605003陈强
2、男1989-11-2湖南常德读书0605004陆晓月女1989-2-3湖南长沙篮球此表中每一行是一个记录,它包含了特定客户的所有信息,而每个记录则包含了相同类型和数量的字段:学籍号、姓名等等。表是一种按行与列排列的相关信息的逻辑组,类似于工作单表。字段数据库表中的每一列称作一个字段。表是由其包含的各种字段定义的,每个字段描述了它所含有的数据。创建一个数据库时,须为每个字段分配一个数据类型、最大长度和其它属性。字段可包含各种字符、数字甚至图形。记录各个客户有关的信息存放在表的行,被称为记录。一般来说,数据库表创建时任意两个记录都不能相同。关系数据库可以由多个表组成,表与表之间可以以不同的方式相互
3、关联。2、ALTERTABLE表名ALTERCOLUMN字段名NVARCHAR(50)NULL3、Private Sub cmdAdd_Click() Data1.Recordset.AddNewEnd SubPrivate Sub cmdDelete_Click() If (MsgBox(确定要删除该条记录?, vbYesNo + vbQuestion + vbDefaultButton2, 提示) = vbYes Then 如果删除记录集的最后一条记录 记录或记录集中唯一的记录 Data1.Recordset.Delete Data1.Recordset.MoveNext End IfEn
4、d SubPrivate Sub cmdRefresh_Click() 这仅对多用户应用程序才是需要的 Data1.Refresh Data1.Recordset.MoveLast Data1.Recordset.MoveFirst End SubPrivate Sub cmdUpdate_Click() Data1.UpdateRecord Data1.Recordset.Bookmark = Data1.Recordset.LastModifiedEnd SubPrivate Sub cmdClose_Click() Unload MeEnd SubPrivate Sub Command1
5、_Click()Data1.Recordset.MoveFirstEnd SubPrivate Sub Command2_Click()If (Not Data1.Recordset.BOF) Then Data1.Recordset.MovePreviousEnd SubPrivate Sub Command3_Click()If (Not Data1.Recordset.EOF) Then Data1.Recordset.MoveNextEnd SubPrivate Sub Command4_Click()Data1.Recordset.MoveLastEnd SubPrivate Sub
6、 Command5_Click()Dim condition As Stringcondition = Text1.TextIf (condition = ) ThenMsgBox 请输入查询条件, , 提示Exit SubEnd IfData1.Recordset.FindFirst conditionIf (Data1.Recordset.NoMatch) ThenMsgBox 没有符合条件的记录, , 提示End IfEnd SubPrivate Sub Data1_Error(DataErr As Integer, Response As Integer) 这就是放置错误处理代码的地方
7、 如果想忽略错误,注释掉下一行代码 如果想捕捉错误,在这里添加错误处理代码 MsgBox 数据错误事件命中错误: & Error$(DataErr) Response = 0 忽略错误End SubPrivate Sub Data1_Reposition() Dim pos, all As Integer Screen.MousePointer = vbDefault On Error Resume Next 这将显示当前记录位置 为动态集和快照 Data1.Caption = 记录: & (Data1.Recordset.AbsolutePosition + 1) 对于 Table 对象,当
8、记录集创建后并使用下面的行时, 必须设置 Index 属性 Data1.Caption = 记录: & (Data1.Recordset.RecordCount * (Data1.Recordset.PercentPosition * 0.01) + 1 pos = Data1.Recordset.AbsolutePosition + 1 all = Data1.Recordset.RecordCount Label2.Caption = pos & / & allEnd SubPrivate Sub Data1_Validate(Action As Integer, Save As Inte
9、ger) 这是放置验证代码的地方 当下面的动作发生时,调用这个事件 Select Case Action Case vbDataActionMoveFirst Case vbDataActionMovePrevious Case vbDataActionMoveNext Case vbDataActionMoveLast Case vbDataActionAddNew Case vbDataActionUpdate Case vbDataActionDelete Case vbDataActionFind Case vbDataActionBookmark Case vbDataActionClose End Select Screen.MousePointer = vbHourglassEnd SubPrivate Sub Form_Load()Dim pos, all As IntegerData1.RefreshData1.Recordset.MoveLastall = Data1.Recordset.RecordCountData1.Recordset.MoveFirstpos = Data1.Recordset.AbsolutePosition + 1Label2.Caption = pos & / & allEnd Sub