导航

心动吧黑客BLOG

自发研究:须要多维思想而且要想不可能为可能的人才能做到

« ASp ADO对像(第十六节)ASp 在ASP中怎样才能用动态数组 »

ASp ADO对像之Connection(第十七节)

作者:心动吧明生KISS

   由于connection的属性和方法大致相同..所以这里只做简单的操作..使用本节课之前.请先使用以下的语句创建一个数据库

  Connection 对象代表与数据源进行的唯一会话。如果是客户端/服务器数据库系统,该对象可以等价于到服务器的实际网络连接。取决于提供者所支持的功能,Connection 对象的某些集合、方法或属性有可能无效。

<%
set cre=server.createobject("adox.catalog") '先将组件实例化.要不然不可以拿用哦
cre.create "provider=microsoft.jet.oledb.4.0; data source=" & server.mappath("abcxd.mdb")
cre.ActiveConnection="provider=microsoft.jet.oledb.4.0; data source=" & server.mappath("abcxd.mdb") '连接数据库

set tablea=server.createobject("adox.table") '利用table方法创建数据库表
tablea.name="id" '数据库表的名称
tablea.columns.append "user",202 '表里面的字段名字和字段的属性,203=备注
tablea.columns.append "password",202 '和上面一样..202=字符串
cre.tables.append tablea
set tablea=nothing
response.write "建立表成功: 表名: id 字段: user和password"
%>
然后我们再通过学习connection的方法,集合,属性
 
示例图:   

 

 

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>数据库操作</title>
</head>

<body>
<%
xx=request.form("abcxd")

if request.form("radiobutton")="open" then
set conn=Server.CreateObject("ADODB.Connection") '先将adodb组件的connection实例化先,然后再用open方法将其他打开
conn.open "DRIVER=Driver do Microsoft Access (*.mdb);DBQ="&Server.MapPath("abcxd.mdb")
'Provider (0x80004005)出现此类错误请更换为:"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=e:\web\opwer\opwer.mdb"
'用open打开数据库需要注意第一个参数是驱动信息,第二个DBQ是数据库路径
'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("abcxd.mdb") 这是最新的
'conn.close '关闭对像
'set conn=nothing '释放掉
response.write "打开成功"
end if

if request.Form("radiobutton")="exec" then '使用connection的execute方法更新
set conn=server.CreateObject("adodb.connection") '先要打开数据库
conn.open "DRIVER=Driver do Microsoft Access (*.mdb);DBQ="&Server.MapPath("abcxd.mdb")
set abcxd=conn.execute(xx) '用connection的execute执行sql语句,他还有二个可选参数 请看手册
response.write "插入成功"

'abcxd.close

end if
'由于execute是执行sql语句的.所以增加删除我就不多说了,那些都是SQL语言的问题...下一节讲recordset

%>
<form id="form1" name="form1" method="post" action="">
<label>
<input name="abcxd" type="text" size="50" />
<input type="submit" name="Submit" value="提交" />
</label>
<br>
<label>
<input type="radio" name="radiobutton" value="open" onclick="abcxd.value='abcxd.mdb'">
打开数据库</label>
<label>
<input type="radio" name="radiobutton" value="exec" onclick="abcxd.value='insert into id(user,password) values(abcxd,abcxd)'">
execute添加</label>
</form>
</body>
</html>

其他附录

  

使用 Connection 对象的集合、方法、和属性可执行下列操作:

  • 在打开连接前使用 ConnectionStringConnectionTimeoutMode 属性对连接进行配置。



     
  • 设置 CursorLocation 属性以便调用支持批更新的“客户端游标提供者”。



     
  • 使用 DefaultDatabase 属性设置连接的默认数据库。



     
  • 使用 IsolationLevel 属性为在连接上打开的事务设置隔离级别。



     
  • 使用 Provider 属性指定 OLE DB 提供者。



     
  • 使用 Open 方法建立到数据源的物理连接。使用 Close 方法将其断开。



     
  • 使用 Execute 方法执行对连接的命令,并使用 CommandTimeout 属性对执行进行配置。



     
  • 可使用 BeginTransCommitTransRollbackTrans 方法以及 Attributes 属性管理打开的连接上的事务(如果提供者支持则包括嵌套的事务)。



     
  • 使用 Errors 集合检查数据源返回的错误。



     
  • 通过 Version 属性读取使用中的 ADO 执行版本。



     
  • 使用 OpenSchema 方法获取数据库模式信息。

注意   如果不使用 Command 对象执行查询,请向 Connection 对象的 Execute 方法传送查询字符串。但是,当需要使命令文本具有持久性并重新执行,或使用查询参数的时候,则必须使用 Command 对象。

可以创建独立于先前定义的其他任何对象的 Connection 对象。

注意   可以象执行 Connection 对象的本地方法一样执行命令或存储过程。

如果要执行命令,可以使用 Command 对象的 Name 属性给命令指定一个名称。将 Command 对象的 ActiveConnection 属性设置为该连接。然后,象发出 Connection 对象的方法一样发出使用命令名称的语句,后面可带任何参数(如果有返回行,则后面带 Recordset 对象)。设置 Recordset 属性以便自定义所产生的记录集。例如:

Dim cnn As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim rst As New ADODB.Recordset
...
cnn.Open "..."
cmd.Name = "yourCommandName"
cmd.ActiveConnection = cnn
...
'命令名称、任意参数、以及可选记录集。
cnn.yourCommandName "parameter", rst

 

要执行存储过程,可以如同发出 Connection 对象的方法一样发出使用存储过程名称的语句,后面可带任何参数。ADO 将对参数类型进行“最佳判断”。例如:

Dim cnn As New ADODB.Connection
...
'存储过程名称及任意参数。
cnn.sp_yourStoredProcedureName "parameter"

原创文章如转载,请注明:转载自心动吧黑客BLOG [ http://www.abcxd.com/abcxd/ ]

本文链接地址:http://www.abcxd.com/abcxd/abcxdArticle/asp/155/

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

黑客榜之本月排行

搜索内容

日历

Copyright ⊙ 2004-2009 心动吧 UrL:ABCXD.CoM All RiGhts Reserved