1.创建数据库连接,并打开
set cnn=Server.CreateObject("ADODB.Connection")
cnn.ConnectionString="PROVIDER=Microsoft.jet.OLEDB.4.0;Data Source=" & server.MapPath("test.mdb")
cnn.Open
2.创建command
set cmd=Server.CreateObject("ADODB.Command")
set cmd.ActiveConnection=cnn
3.设置CommandType类型,并设置执行语句即CommandText
说明:
adCmdText=1 :表示处理的是一个 SQL 语句;
adCmdTable=2 :表示处理的是一个表;
adCmdStoredProc=4 :表示处理的是一个存储过程;
adCmdUnknow=8 :表示不能识别,它是默认值。
commandText根据commandTyped的类型为SOL 语句、表名称或存储过程
cmd.CommandType=1
cmd.CommandText="Insert INTO test(userName,userPass,userEmail,clicks) values(?,?,?,?)"
cmd.Prepared = true
对prepared的说明:Prepared 属性可返回或设置一个布尔值,如果设置为 True,则指示该命令应该保存查询的 一个准备好的(或已编译的)版本, 该查询是第一次执行 Command 对象前在 CommandText 属性中指定的。
这会降低命令的首次执行速度,但是在第一次执行执行后,provider 将使用已编译的版本,这样就可以加快执行速度。
如果该属性为 False,提供者将直接执行 Command 对象而不创建编译版本。
如果提供者不支持命令准备,则一旦将此属性设置为 True,提供者便可能返回错误。如果它不返回错误,则仅忽略准备命令的请求,并将 Prepared 属性设置为 False。
当然可不设置cmd.Prepared = true或cmd.Prepared = false
4.创建Parameter对象
说明:
Set objparameter=objcommand.CreateParameter(name,type,direction,size,value)
name Parameter 对象的名称,和数据库字段对应
type Parameter 对象的数据类型,可以使用符号常量为其赋值
adDate=7 :表示日期值;
adInteger=3 :表示4字节的带符号整数;
adDecimal=14 :具有固定精度和范围的精确数字值;
adDouble=5 :双精度浮点值;
adVarChar=200 :表示字符串值。
direction Parameter对象的方向,可以设置或返回以下某个值
adParamInput=1 :指定为输入参数(默认值);
adParamOutput=2 :指定为输出参数;
adParamInputOutput=3 :指定为输入和输出参数;
adParamReturnValue=4 :指定为返回值。
Size 指定参数值最大长度,以字符或字节数为单位。
Value 指定 Parameter 对象的值。
set un=cmd.CreateParameter("userName",200,1,50,"ljlyy")
set up=cmd.CreateParameter("userPass",200,1,50,"123456")
set ue=cmd.CreateParameter("userEmail",200,1,50,"ljlyfsdy@126.com")
set uc=cmd.CreateParameter("clicks",14,1,1,"30")
5.将parameter对象添加到Parameters集合中。
cmd.Parameters.Append un
cmd.Parameters.Append up
Cmd.Parameters.Append ue
Cmd.Parameters.Append uc
当然,在4,5的步骤中你也可以这样写
set un=cmd.CreateParameter("userName",200,1,50)
set up=cmd.CreateParameter("userPass",200,1,50)
set ue=cmd.CreateParameter("userEmail",200,1,50)
set uc=cmd.CreateParameter("clicks",14,1,2)
cmd.Parameters.Append un
cmd.Parameters.Append up
cmd.Parameters.Append ue
cmd.Parameters.Append uc
un.value="ljlyy"
up.value="123456"
ue.value="ufngyfsdy@126.com"
uc.value="30"
6.执行
cmd.Execute
set cmd=nothing
cnn.close
set cnn=nothing
当然,若CommandText为普通的sql语句,没有输入输出参数,4,5的步骤可以省略。并且若cmd返回的是记录集,在执行的时候可以直接set rs=cmd.Execute