If you can't read please download the document
Upload
yoshe
View
69
Download
2
Embed Size (px)
DESCRIPTION
第9章 数据库的使用. 9.1 结构化查询语言 SQL 9.2 用 Access 建立一个数据库文件 9.3 搭建 DSN 桥梁 9.4 访问数据库中的数据 9.5 在客户端访问数据库 9.6 用 Command 对象改善查询 习题. 9.1 结构化查询语言 SQL. - PowerPoint PPT Presentation
Citation preview
9 9.1 SQL9.2 Access9.3 DSN9.4 9.5 9.6 Command
9.1 SQLSQL Structured Query Language SQLSQLDBMSSQL ServerOracleSybaseDB2 SQLDBMSSQL
SQL CCOBOL FORTRAN SQL IfGotoForDo9.1.1 SelectSQLSQLSelectSQL[9-3]S24Select
Select 12... From [[Where ][Order By][Group By|[Having]]] 1 SelectSelectSelect(1) FromSQL
(2) (3) SQL2 From FromSQL 3 WhereSQL4 Order ByASCDESC()
5 Group By6 HavingSQLGroup ByWhere VBScript
SQLSQL DBMS DBMS
9.1.2 Insert Into Insert Into(col1, col2...) Values (value1, value2...) [9-4]S
Insert Into S( xm,xb,nl,gz,dh,dz) Values (,,28,4500,8888,)Insert Insert
Update Set 1=value1 \[,2 = value2\]... Where value[9-6]Update Cslp10ID99Update C Set credit=100000.00,id=99 Where name=slp
[9-7]CID809010012020021Update C Set credit=200000.00,state=021 Where ID in (80,90,100,120)Where in ()IDID8090100120SQL Update
9.1.4 Delete Delete from Where [9-8]DID99Delete from D Where ID=99 9.1.5 Create tableSQL Select Create Drop
Create table ( 1 \[NOT NULL\],2 \[NOT NULL\], 3 \[ NOT NULL\]...) [9-9]name30, amout8id4BCreate Table B (name CHAR(30), amout NUMBER(8), id NUMBER(4))Create table B
Insert Into B(name,amout,id) Values(zhangchi,100,1) 9.1.6 Drop table Drop table Drop table [9-10]B
Drop table B
9.2 AccessAccessWindows 2000 Microsoft AccessAccess9.1Microsoft AccessAccess9.29.3
9.1
9.2
9.3
9.3mydb9.49.4
mydb19.59.5
9.61234569.7
9.6
9.7
Microsoft Access9.8S1icrosoft Access9.99.9ID9.109.10S1ID12AccessS1Microsoft AccessMicrosoft AccessS1S1
9.8
9.9
9.10
9.3 DSNODBCODBCODBCODBCAccessODBCAccessASPAccessSQLODBC
ODBCDSNDSN(Date Source Name)ODBCSQLDSNSQL ServerDSNDSNODBCDSNDSNDSN ODBCODBC
Windows 95/9832ODBCWindows 2000/NT/DSNDSNDSNDSNDSN(1) Windows 95/98 9.11(a)Windows 2000/NT 9.11(b)
9.11(a)
9.11(b)
(2) ODBC32ODBCODBC9.12DSN(3) 9.129.13Microsoft Access DriveODBC Microsoft Access9.14
9.12
9.13
9.14
(4) 9.14DSNQL9.159.15C:..My Documentsmydbmydb1.mdbqlC:..my Documentsmydbmydb1.mdbC:..My Documentsmydbmydb1.mdbDSN
9.15ASPDSNmydb1.mdbS1
9.4 9.4.1 RecordsetADORecordsetRecordset Recordset
Recordset Recordset Recordset [9-11]
9.11.asp9.16
9.16
Recordset
rsRecordsetRecordsetOpenSQLDNS=;UID=;PWD==rs()
Recordsetrs.closeRecordsetcloseRecordsetset rs=nothing S1
[9-12]
9.179.12.asp9.17S1
while...wendRecordset MoveNext RecordSetrs.EOF rs.BOF rs.Fields.Count: RecordSet rs(i).Name: i i 0 rs.Fields.Count1 rs(i): i i 0 rs.Fields.Count1 rs( ): rs.RecordCount:
rs.MoveNext rs.MovePrev rs.MoveFirst rs.MoveLast rs.Move [n] n n0rs.Move NumRecords,Start NumRecordsstartrs.Close RecordSet
cn.Open DSN=ql;strSQL=Insert Into S1 (,,,,,) Values (Jose,34,8000,64455,,1960/03/23)cn.Execute(strSQL)%>
9.13.aspAccessmydb1S19.13.asp9.13.aspS1S19.18
9.18
mydb1S1
Connection RecordsetOpenSOLSQLConnectionExecute(SQL)Recordset
2. SQL Insert SQL Update Delete SQL Update [9-14] Update S1Jose
9.199.14.aspAccessmydb1S1Jose9.19
cn.ExecuteSQLUpdate3. SQL Delete [9-15]DeleteS1ID5
9.15.aspAccessmydb1S1ID59.20
9.20
SQL Delete Where Delete SQL Where 4. ConnectionRecordsetRecordset[9-16]ConnectionRecordset
S1 ID
9.16.aspS19.21
9.21
RecordsetcnConnection rs.Open strSQL, cn5. ConnectionTimeout Connection ConnectionTimeout ConnectionTimeout 20
Set cn = Server.CreateObject(ADODB.Connection)cn.ConnectionTimeout = 20cn.Open DSN=ql; ConnectionTimeout 30 ConnectionTimeout 6. ConnectionConnectionRecordsetConnection
[9-17]ConnectionRecordset
for i=0 to rs.fields.count1v=rs(i)if isnull(v) then v=Response.Write( +CStr(v)+)nextrs.MoveNextwendResponse.Write ()end sub%>
S1 ,
S1 ,
9.17.aspS19.22
9.22
t(rs)RecordsetRecordsetConnectionqlRecordset rs1rs2t(rs) rs.fields.countRecordsetrs(i).nameRecordsetiisnullvNULL
9.59.5.1 [9-18]
9.18.asp9.23
9.23
obj.Execute(intodb)obj.Close%>9.239.19.aspS19.24
9.24
cn.open DSN=ql;set rstemp=cn.execute(inputquery)howmanyfields=rstemp.fields.count 1%>
qASPSQLqrstemp.fields.countrstemp(i).namerstemp(i)[9-21]9-21.asp
9.25
& Request(name) & Request(name)& & [9-22]
name=B2>
9.269.26SQL Wherelikelike%%
9.26
[9-23]9-23.asp
= &Request(nl)& and = &Request(dz) & call q(sql)%>
9.2720209.27SQL Where
>= & Request(nl) & and = & Request(dz) &
9.27
[9-24]9-24.asp
9.28
9.6 CommandADORecordsetConnectionCommandRecordset
CommandConnectionRecordsetCommandSQL9.6.1 Command[9-25]S29.18.asp(9-25.asp)
1.
2.3.4.5.6.7.
9.25.asp9.299.299.26.aspS2
9.29
[9-26]Command9.299-26.asp
cm.CommandType =1cm.Parameters.Append cm.CreateParameter(,200,,25)cm.Parameters.Append cm.CreateParameter(,200,,25)cm.Parameters.Append cm.CreateParameter(,200,,25)cm.Parameters.Append cm.CreateParameter(,200,,25)cm.Parameters.Append cm.CreateParameter(,200,,255)cm.Parameters.Append cm.CreateParameter(,200,,255)cm()=Request(nf)cm()=Request(tx)cm()=Request(th)cm()=Request(nr)
cm()=Request(dan)cm()=Request(jd)cm.Execute%>
9.19.aspCommandCommandCommand
Command1asp2cmCommand3CommandActiveConnectionCommandConnectionConnection9-26cn.Open q1;ConnectionOpenql
4cm.CommandText=SQL9-26INSERT INTO S2()VALUES(?,?,?,?,?,?)SQL5cm.CommandType =41SQL248
6cm.Parameters.Append cm.CreateParameter(name,type,direction,size,value)ParameterParameterParameterParameterParameterParameterFieldRecordsetname ParameterParameterType 20013220814129ASCII68;7133yyyymmdd134hhmmss135yyyymmdd hhmmss
direction Parameter12Command34Size value
7cm(name) =Parameter?Param1Param2select*fromwhere=? And =?cm(Param1)=cm(Param2)=?8cm.Executecm.CommandText Command SQL CommandParameter9.19.aspSQL
Response.Write( +rs(i).name+)nextwhile not rs.EOFResponse.Write()for i=0 to rs.fields.count1v=rs(i)if isnull(v) then v=Response.Write( +CStr(v)+)next
rs.MoveNextwendResponse.Write ()end sub%>[9-28]S19.30
9.30
if request(dz) thenset cn = Server.CreateObject(ADODB.Connection)cn.Open DSN=ql;set cm= Server.CreateObject(ADODB.Command)set cm.ActiveConnection =cncm.CommandText=select * from S1 where = ? cm.Parameters.Append cm.CreateParameter(,200,,255)cm() =Request(dz)set rs=cm.Execute
1. DD()SQL1 2 3 20002. AccesskcglDD()KC
3. ASPDD4. ASP5. ASPS1ID10006. ASPS1 ID1000100