我是初学者阿!!
我下载了个论坛源代码,可不知道怎样用阿!!
请教!!!
---------------------------------------------------------------
一般使用ADO访问数据库的ASP脚本程序应该使用Connection对象建立并管理与远程数据库的连接;使用Command对象提供灵活的查询;而使用Recordset对象访问数据库查询所返回的结果。这三者是ADO中最基本也最核心的对象。下面的例子解释了如何使用这三个对象访问数据库。
1 Dim strDSN, strSQL
2'定义用到的变量
3Dim cn, rs, cm , ObjName, ObjKucun, ObjPrice, ObjUnit, ObjDate
4strDSN = "FILEDSN=Kucun.dsn"
5'建立DSN字符串
6Set cn = Server.CreateObject("ADODB.Connection")
7'创建Connection对象的一个实例
8cn.Open strDSN
9'与strDSN指定的数据源建立连接
10Set cm= Server.CreateObject("ADODB.Command")
11'创建Command对象的一个实例
12Set cm.ActiveConnection = cn
13'指定cm使用cn所建立的数据库连接
14cm.CommandText = "INSERT INTO 库存表(商品名称,库存量,进价,单位,进货日期) VALUES (?,?,?,?,?)"
15'预定义带参数的SQL查询命令
16cm.Prepared = True
17'通知数据源预处理该查询命令
18cm.Parameters.Append cm.CreateParameter("商品名称",200, ,255 )
19'定义查询参数
20cm.Parameters.Append cm.CreateParameter("库存量",200, ,255 )
21cm.Parameters.Append cm.CreateParameter("进价",200, ,255 )
22cm.Parameters.Append cm.CreateParameter("单位",200, ,255 )
23cm.Parameters.Append cm.CreateParameter("进货日期",200, ,255 )
24cm("商品名称") = "葡萄"
25'给参数赋值
26cm("库存量") = 400
27cm("进价") = 0.8
28cm("单位") = "斤"
29cm("进货日期") = #95-6-12#
30cm.Execute
31'按照给定的参数值执行预定义的SQL查询命令
32cm("商品名称") = "柿子"
33cm("库存量") = 300
34cm("进价") = 0.4
35cm("单位") = "斤"
36cm("进货日期") = #95-6-11#
37cm.Execute
38Set rs= Server.CreateObject("ADODB.Recordset")
39'创建Recordset对象的一个实例
40strSQL = "SELECT * FROM 库存表"
41'建立查询命令字符串
42rs.Open strSQL, cn
43'使用cn的数据库连接执行strSQL定义的查询命令
44Set objName = rs("商品名称")
45'将返回的列保存在变量中
46Set objKucun = rs("库存量")
47Set objPrice = rs("进价")
48Set objUnit = rs("单位")
49Set objDate = rs("进货日期")
1<center>
2'使用循环语句将查询结果以表格形式输出
3<table border="1"><caption>水果店库存量查询结果</caption>
Do Until rs.EOF
1<tr><td>```
2 Response.write ObjName
3```</td><td>```
4 Response.write ObjKucun
5```</td><td>```
6 Response.write ObjPrice
7```</td><td>```
8 Response.write ObjUnit
9```</td><td>```
10 Response.write ObjDate
11```</td></tr>
rs.MoveNext
Loop
1</table></center>
在上面的例子中,首先使用Connection对象与要操作的数据源建立连接;然后使用Command对象建立带五个参数的预定义查询命令(向库存表中添加一次采购记录),并两次以不同的参数值(葡萄和柿子)执行该查询命令;最后使用Recordset对象查询库存表中所有商品的库存信息,并以表格的形式输出。如果对VB的数据库编程比较熟悉,则会发现ADO与VB中的远程数据对象(RDO)比较相似。上例运行结果如图3所示。
与IDC一样,运行该数据库访问脚本的通常做法是在HTML文件中嵌入一个.asp文件的连接。例如,下面的HTML语句向Web服务器发出了请求,要求执行adotest.asp文件。
1<a href="http://LocalHost/idctest/ado/adotest.asp">库存量查询</a>
---------------------------------------------------------------
各种数据库的连接代码,根据具体情况作相应修改:
MS Access数据库连接
用DSN连接并且没有用户名和密码:
1
2set conn = Server.CreateObject("ADODB.Connection")
3conn.open "YourDSNName"
用DSN连接并且有用户名和密码:
1
2set conn = Server.CreateObject("ADODB.Connection")
3conn.open "YourDSNName","username","password"
用实际的数据库绝对路径连接:
1
2Set conn = Server.CreateObject("ADODB.Connection")
3Strconn="DRIVER={Microsoft Access Driver (*.mdb)}; "
4Strconn=Strconn & "DBQ=e:\yanhang\database.mdb"
5conn.Open Strconn
用实际的数据库相对路径连接:
1
2Set conn = Server.CreateObject("ADODB.Connection")
3Strconn="DRIVER={Microsoft Access Driver (*.mdb)}; "
4Strconn=Strconn & "DBQ=" & Server.MapPath("/database/yanhang.mdb")
5conn.Open Strconn
MS SQL Server数据库连接
用DSN连接:
1
2set conn = Server.CreateObject("ADODB.Connection")
3conn.open "DSN=MyDSN;UID=user;PWD=password;DATABASE=databasename"
不用DSN连接:
1
2Set conn = Server.CreateObject("ADODB.Connection")
3DSNtemp="DRIVER={SQL Server};SERVER=ServerName;UID=USER;PWD=password;DATABASE=databasename"
4conn.open DSNtemp
FoxPro数据库连接
1
2Set Conn = Server.CreateObject("ADODB.connection")
3ConnStr= "Driver=Microsoft Visual Foxpro Driver; UID=userID;SourceType=DBC;SourceDB=C:\yanhang\database.dbc"
4Conn.Open ConnStr
Oracle数据库连接:
1
2set conn=server.createobject("adodb.connection")
3conn.cursorlocation=adUseClient
4DSNTemp="Provider=MSDAORA.1;Password=xxxxx;User ID=yanhang;Data Source=xxx.world"
5conn.open DSNtemp