|
- 1. ASP与Access数据库连接:
- <%@ language=VBscript%>
- <%
- dim conn,mdbfile
- mdbfile=server.mappath("数据库名称.mdb")
- set conn=server.createobject("adodb.connection")
- conn.open "driver={microsoft access driver (*.mdb)};uid=admin;pwd=数据库密码;dbq="&mdbfile
- %>
- 2. ASP与SQL数据库连接:
- <%@ language=VBscript%>
- <%
- dim conn
- set conn=server.createobject("ADODB.connection")
- con.open "PROVIDER=SQLOLEDB;DATA SOURCE=SQL服务器名称或IP地址;UID=sa;PWD=数据库密码;DATABASE=数据库名称
- %>
- 建立记录集对象:
- set rs=server.createobject("adodb.recordset")
- rs.open SQL语句,conn,3,2
- 3. SQL常用命令使用方法:
- (1) 数据记录筛选:
- sql="select * from 数据表 where 字段名=字段值 order by 字段名 "
- sql="select * from 数据表 where 字段名 like ′%字段值%′ order by 字段名 "
- sql="select top 10 * from 数据表 where 字段名 order by 字段名 "
- sql="select * from 数据表 where 字段名 in (′值1′,′值2′,′值3′)"
- sql="select * from 数据表 where 字段名 between 值1 and 值2"
- (2) 更新数据记录:
- sql="update 数据表 set 字段名=字段值 where 条件表达式"
- sql="update 数据表 set 字段1=值1,字段2=值2 …… 字段n=值n where 条件表达式"
- (3) 删除数据记录:
- sql="delete from 数据表 where 条件表达式"
- sql="delete from 数据表" (将数据表所有记录删除)
- (4) 添加数据记录:
- sql="insert into 数据表 (字段1,字段2,字段3 …) values (值1,值2,值3 …)"
- sql="insert into 目标数据表 select * from 源数据表" (把源数据表的记录添加到目标数据表)
- (5) 数据记录统计函数:
- AVG(字段名) 得出一个表格栏平均值
- COUNT(*|字段名) 对数据行数的统计或对某一栏有值的数据行数统计
- MAX(字段名) 取得一个表格栏最大的值
- MIN(字段名) 取得一个表格栏最小的值
- SUM(字段名) 把数据栏的值相加
- 引用以上函数的方法:
- sql="select sum(字段名) as 别名 from 数据表 where 条件表达式"
- set rs=conn.excute(sql)
- 用 rs("别名") 获取统的计值,其它函数运用同上。
- (5) 数据表的建立和删除:
- CREATE TABLE 数据表名称(字段1 类型1(长度),字段2 类型2(长度) …… )
- 例:CREATE TABLE tab01(name varchar(50),datetime default now())
- DROP TABLE 数据表名称 (永久性删除一个数据表)
- 4. 记录集对象的方法:
- rs.movenext 将记录指针从当前的位置向下移一行
- rs.moveprevious 将记录指针从当前的位置向上移一行
- rs.movefirst 将记录指针移到数据表第一行
- rs.movelast 将记录指针移到数据表最后一行
- rs.absoluteposition=N 将记录指针移到数据表第N行
- rs.absolutepage=N 将记录指针移到第N页的第一行
- rs.pagesize=N 设置每页为N条记录
- rs.pagecount 根据 pagesize 的设置返回总页数
- rs.recordcount 返回记录总数
- rs.bof 返回记录指针是否超出数据表首端,true表示是,false为否
- rs.eof 返回记录指针是否超出数据表末端,true表示是,false为否
- rs.delete 删除当前记录,但记录指针不会向下移动
- rs.addnew 添加记录到数据表末端
- rs.update 更新数据表记录
- ---------------------------------------
- Recordset对象方法
- Open方法
- recordset.Open Source,ActiveConnection,CursorType,LockType,Options
- Source
- Recordset对象可以通过Source属性来连接Command对象。Source参数可以是一个Command对象名称、一段SQL命令、一个指定的数据表名称或是一个Stored Procedure。假如省略这个参数,系统则采用Recordset对象的Source属性。
- ActiveConnection
- Recordset对象可以通过ActiveConnection属性来连接Connection对象。这里的ActiveConnection可以是一个Connection对象或是一串包含数据库连接信息(ConnectionString)的字符串参数。
- CursorType
- Recordset对象Open方法的CursorType参数表示将以什么样的游标类型启动数据,包括adOpenForwardOnly、adOpenKeyset、adOpenDynamic及adOpenStatic,分述如下:
- --------------------------------------------------------------
- 常数 常数值 说明
- -------------------------------------------------------------
- adOpenForwardOnly 0 缺省值,启动一个只能向前移动的游标(Forward Only)。
- adOpenKeyset 1 启动一个Keyset类型的游标。
- adOpenDynamic 2 启动一个Dynamic类型的游标。
- adOpenStatic 3 启动一个Static类型的游标。
- -------------------------------------------------------------
- 以上几个游标类型将直接影响到Recordset对象所有的属性和方法,以下列表说明他们之间的区别。
- -------------------------------------------------------------
- Recordset属性 adOpenForwardOnly adOpenKeyset adOpenDynamic adOpenStatic
- -------------------------------------------------------------
- AbsolutePage 不支持 不支持 可读写 可读写
- AbsolutePosition 不支持 不支持 可读写 可读写
- ActiveConnection 可读写 可读写 可读写 可读写
- BOF 只读 只读 只读 只读
- Bookmark 不支持 不支持 可读写 可读写
- CacheSize 可读写 可读写 可读写 可读写
- CursorLocation 可读写 可读写 可读写 可读写
- CursorType 可读写 可读写 可读写 可读写
- EditMode 只读 只读 只读 只读
- EOF 只读 只读 只读 只读
- Filter 可读写 可读写 可读写 可读写
- LockType 可读写 可读写 可读写 可读写
- MarshalOptions 可读写 可读写 可读写 可读写
- MaxRecords 可读写 可读写 可读写 可读写
- PageCount 不支持 不支持 只读 只读
- PageSize 可读写 可读写 可读写 可读写
- RecordCount 不支持 不支持 只读 只读
- Source 可读写 可读写 可读写 可读写
- State 只读 只读 只读 只读
- Status 只读 只读 只读 只读
- AddNew 支持 支持 支持 支持
- CancelBatch 支持 支持 支持 支持
- CancelUpdate 支持 支持 支持 支持
- Clone 不支持 不支持
- Close 支持 支持 支持 支持
- Delete 支持 支持 支持 支持
- GetRows 支持 支持 支持 支持
- Move 不支持 支持 支持 支持
- MoveFirst 支持 支持 支持 支持
- MoveLast 不支持 支持 支持 支持
- MoveNext 支持 支持 支持 支持
- MovePrevious 不支持 支持 支持 支持
- NextRecordset 支持 支持 支持 支持
- Open 支持 支持 支持 支持
- Requery 支持 支持 支持 支持
- Resync 不支持 不支持 支持 支持
- Supports 支持 支持 支持 支持
- Update 支持 支持 支持 支持
- UpdateBatch 支持 支持 支持 支持
- --------------------------------------------------------------
- 其中NextRecordset方法并不适用于Microsoft Access数据库。
- LockType
- Recordset对象Open方法的LockType参数表示要采用的Lock类型,如果忽略这个参数,那么系统会以Recordset对象的LockType属性为预设值。LockType参数包含adLockReadOnly、adLockPrssimistic、adLockOptimistic及adLockBatchOptimistic等,分述如下:
- -------------------------------------------------------------
- 常数 常数值 说明
- --------------------------------------------------------------
- adLockReadOnly 1 缺省值,Recordset对象以只读方式启动,无法运行AddNew、Update及Delete等方法
- adLockPrssimistic 2 当数据源正在更新时,系统会暂时锁住其他用户的动作,以保持数据一致性。
- adLockOptimistic 3 当数据源正在更新时,系统并不会锁住其他用户的动作,其他用户可以对数据进行增、删、改的操作。
- adLockBatchOptimistic 4 当数据源正在更新时,其他用户必须将CursorLocation属性改为adUdeClientBatch才能对数据进行增、
- 删、改的操作。
复制代码
|
|