2016-2-19 数据库系统 1 1 并发控制概述 在多用户数据库系统中,当多个用户并发存取数据 库时就会产生多个事务同时存取同一数据的情形。若不
第十一章 Visual Basic 与数据库 ( 2 学时)
-
Upload
kibo-hicks -
Category
Documents
-
view
121 -
download
8
description
Transcript of 第十一章 Visual Basic 与数据库 ( 2 学时)
-
Visual Basic211.1 11.2 11.3 *11.4 ADO*11.5 (SQL)*11.6 11.7
-
11.1
-
990001
82-1-21
990002
82-9-21
990101
82-4-4
990102
81-12-2
990103
82-10-1
990201
82-11-14
990202
83-2-21
991103
82-6-3
991104
83-5-5
-
990001
990001
85
990002
990001
90
-
Recordset
-
VB
Table
Dynaset
SnapShot
-
11.2 VB(Visdata.exe)VB
-
123Student.mdb
Text
6
Text
10
Text
10
Date
8
Text
2
Binary
-
11.3 11 .3.1 RecordSourceSQLDatabaseNameRecordSource
Data
Connect
DatabaseName
RecordSource
RecordType
-
DataSource DataFieldData
DataSource
DataField
-
11.2 MsFlexGridStudent.mdb11.1 11.2Student.mdb Rows Cols FixedRows FixedCols
-
11.3.2
Reposition
Vaildate
Save
-
11.3.3 Refresh
Refresh
UpdateControls
UpdateRecord
Vaildate
-
11.3.4
1 EofBofBookMark RecordCount
990001
85
990002
90
990010
90
-
2 FindFirstFindLastFindNextFindPreviousDynasetSnapshotSeekTable NomarchData1.Recordset. FindFirst "=' ' "Nomarch=False11.3 Move4
-
11.3.5 Data1.Recordset. AddNew UpData EditDelete Update11.4
990001
85
990002
90
990010
90
-
11.4 ADOADOMicrosoftActiveXOLE DBDAORDOODBCADO11.4.2 ADO11.4.1 ADOADO/Microsoft ADO Data Control 6.0(OLE DB)ADOADOVisual BasicADO
-
ADO
ADO
ADO
ConnectionString
ADODatabaseName
RecordSource
Recordset
-
------ADO ADODCADO
-
ADOConnectionString Provider=Microsoft.Jet.OLEDB.3.51; Persist Security Info=False; Data Source=Student.mdbRecordSourceADOData
-
11.4.3 ADO11.5
MSFlexGrid
MSHFlexGrid
OLEDB
DataGrid
OLEDB
-
11.4.4 / VB 6
1
-
2
-
3
-
4
-
5
-
611.6
-
11.5 (SQL)11.5.1 SQLSQLSQLSQLSQLSQL
-
SQL
CREAT
DELETE
SELECT
UPDATE
SQL
FROM
WHERE
GROUP BY
HAVING
ORDER BY
AVG
COUNT
SUM
MAX
MIN
-
11.5.2 SELECT1.SELECTSELECTSELECTSelect From Where Group By Order By [Asc|Desc] RecordSourceSQLSQLSQLSELECT"Select * From Where =' " & Text1 & " ' "
11.7 11.4SQL11.8 SQL11.9 SQLStudent.mdb
-
11.10ADOSQL11.8DataADOSQLStudent.mdb 11.11Student.mdb *2. UPDATEUPDATEUPDATE [] SET [] WHERE []11.11a 10%*3. DELETE FROMWHEREDELETE [] FROM [] WHERE []11.11b11.11atemp
-
*11.5.3 DAODAODAOMicrosoft DAO 3.51 Object Library
Dim db As Database
Set db = OpenDatabase()
Databasedb
Dim rs As Recordset
Set rs = db.OpenRecordset()
rs
-
11.11e DAO Recordset.Fields(Recordset()Recordset.Fields( Recordset(DAOrs(j)11.11c DAODAO11.11d DAOBookmark
-
*11.5.4 ADOADODAO
ADO
Dim db As Connection
Set db = New Connection
db.Open
db
Dim rs As Recordset
Set rs = New Recordset
rs.Open
-
11.6 ActiveX Designer|Data ReportDataReport1
-
11.12 DataEnvironent1Connection1Command1DataReport1 DataSourceDataMemberCommand1Command1ClickDataReport1.ShowDataReport1.PrintReport
-
11.7 1. On Error2. Err.Number
-
On Error(1) On Error Resume Next (2) On Error GoTo (3) On Error GoTo 0Resume Resume Next Resume 0
-
11.13 Sub OnErrorStatementDemo()Dim Response ,Msg, Style, Title As StringDim db As Database, rs As RecordsetOn Error GoTo ErrorHandlerSet db = OpenDatabase("A:\Student.mdb") ' Set rs = db.OpenRecordset("") ' Exit Sub' ErrorHandler:' Style = vbRetryCancel + vbCritical + vbDefaultButton2Select Case Err.NumberCase 53' 53Msg = "!"Response = MsgBox(Msg, Style, "") If Response = vbCancel Then Exit SubCase 71' 71Msg = " A"Response = MsgBox(Msg, Style, "") If Response = vbCancel Then Exit SubCase Else' Exit SubEnd SelectResume' End Sub
-
11.14 Sub ResumeStatementDemo()On Error GoTo ErrorHandler' Open " testfile " For Output As #1Kill "testfile"' Exit SubErrorHandler:Select Case Err.NumberCase 55' Close #1' Case Else End SelectResumeEnd Sub
-
11.15 Sub OnErrorStatementDemo()On Error GoTo ErrorHandler' Open " testfile " For Output As #1Kill " testfile "' On Error Goto 0' On Error Resume Next' Kill "testfile"Err.Clear' Exit SubErrorHandler:Select Case Err.NumberCase 55Close #1Case Else End SelectResumeEnd Sub
-
11.16 Function Divide (numer, denom) as VariantConst mnErrDivByZero = 11 ' Const mnErrOverFlow = 6 ' Const mnErrBadCall = 5 ' On Error GoTo MathHandlerDim Msg as StringDivide = numer / denom' Exit FunctionMathHandler: If Err.Number = MnErrDivByZero Or Err.Number = ErrOverFlow _Or Err = ErrBadCall ThenDivide = Null' NULLElse' Msg = "Unanticipated error " & Err.NumberMsg = Msg & ": " & Err.DescriptionMsgBox Msg, vbExclamation End If Resume Next' Resume NextEnd Function
**