ASP连接数据库的11种方法及相关语法.docx

上传人:b****5 文档编号:7367041 上传时间:2023-01-23 格式:DOCX 页数:21 大小:28.95KB
下载 相关 举报
ASP连接数据库的11种方法及相关语法.docx_第1页
第1页 / 共21页
ASP连接数据库的11种方法及相关语法.docx_第2页
第2页 / 共21页
ASP连接数据库的11种方法及相关语法.docx_第3页
第3页 / 共21页
ASP连接数据库的11种方法及相关语法.docx_第4页
第4页 / 共21页
ASP连接数据库的11种方法及相关语法.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

ASP连接数据库的11种方法及相关语法.docx

《ASP连接数据库的11种方法及相关语法.docx》由会员分享,可在线阅读,更多相关《ASP连接数据库的11种方法及相关语法.docx(21页珍藏版)》请在冰豆网上搜索。

ASP连接数据库的11种方法及相关语法.docx

ASP连接数据库的11种方法及相关语法

ASP连接数据库的11种方法及相关语法

编辑注:

学会了这些东西,您将基本可以独立完成ASP对数据库的所有操作。

  ASP连接数据库的11种方法——本文总结了使用ASP链接各种数据库的方法:

  1.Access数据库的DSN-less连接方法:

  setadocon=Server.Createobject("adodb.connection")

  adoconn.Open"Driver={MicrosoftAccessDriver(*.mdb)};DBQ="&_

  Server.MapPath("数据库所在路径")

  2.AccessOLEDB连接方法:

  setadocon=Server.Createobject("adodb.connection")

  adocon.open"Provider=Microsoft.Jet.OLEDB.4.0;"&_

  "DataSource="&Server.MapPath("数据库所在路径")

  3.SQLserver连接方法:

  setadocon=server.createobject("adodb.recordset")

  adocon.Open"Driver={SQLServer};Server=(Local);UID=***;PWD=***;"&_

  "database=数据库名;"

  4.SQLserverOLEDB连接方法:

  setadocon=Server.Createobject("adodb.connection")

  adocon.open"provider=SQLOLEDB.1;DataSource=RITANT4;"&_

  "userID=***;Password=***;"&_

  "initalCatalog=数据库名"

  5.Oracle连接方法:

  setadocon=Server.Createobject("adodb.connection")

  adocon.open"Driver={microsoftodbcfororacle};server=oraclesever.world;uid=admin;pwd=pass;"

  6.OracleOLEDB连接方法:

  setadocon=Server.Createobject("adodb.connection")

  adocon.open"Provider=OraOLEDB.Oracle;datasource=dbname;userid=admin;password=pass;"

  7.dBase连接方法:

  setadocon=Server.Createobject("adodb.connection")

  adocon.open"Driver={microsoftdbasedriver(*.dbf)};driverid=277;dbq=------------;"

  8.mySQL连接方法:

  setadocon=Server.Createobject("adodb.connection")

  adocon.open"Driver={mysql};database=yourdatabase;

  uid=username;pwd=yourpassword;option=16386;"

  9.VisualFoxpro连接方法:

  setadocon=Server.Createobject("adodb.connection")

  adocon.open"Driver={microsoftVisualFoxprodriver};sourcetype=DBC;sourceDB=*.dbc;Exclusive=No;"

  10.MStext连接方法:

  setadocon=Server.Createobject("adodb.connection")

  adocon.open"Driver={microsofttextdriver(*.txt;*.csv)};dbq=-----;"&_

  "extensions=asc,csv,tab,txt;PersistSecurityInfo=false;"

  11.MStextOLEDB连接方法:

  setadocon=Server.Createobject("adodb.connection")

  adocon.open"Provider=microsof.jet.oledb.4.0;datasource=your_path;"&_

  "ExtendedProperties'text;FMT=Delimited'"

  <二>常用的四种SQL命令:

  1.查询数据记录(Select)

  语法:

Select字段串行FromtableWhere字段=内容

  例子:

想从book表中找出作者为"cancer"的所有记录,SQL语句便如下:

  select*frombookwhereauthor=’cancer’

  "*"是取出book表所有的字段,如查询的字段值为数字,则其后的"内容"便无须加上单引号,如是日期,则在Access中用(#)包括,而在SQLserver中则用(’)包括,

  如:

  select*frombookwhereid=1

  select*frombookwherepub_date=#2002-1-7#(Access)

  select*frombookwherepub_date=’2002-1-7’(SQLServer)

  提示:

  日期函数to_date不是标准sql文,不是所有的数据库适用,所以大家在使用的时候要参考数据库具体语法

  另外如果是查询传入的变量,则如下:

  strau=request.form("author")

  strsql="select*frombookwhereauthor=’"&strau&"’"

  如果查询的是数字,则:

  intID=request.form("id")

  strsql="select*frombookwhereid="&intID

  在很多数据库中,如:

oracle,上面的语句是可以写成:

  strsql="select*frombookwhereid='"&intID&"'"

  但是字符型一定不能按照数字格式写,需要注意。

  2.添加记录(Insert)

  语法:

  Insertintotable(field1,field2,....)Values(value1,value2,....)

  例子:

添加一作者是"cancer"的记录入book表:

  insertintobook(bookno,author,bookname)values(’CF001’,’cancer’,’Cancer无组件上传程序’)

  同样,如果用到变量就如下:

  strno=request.form("bookno")

  strau=request.form("author")

  strname=request.form("bookname")

  strsql="insertintobook(bookno,author,bookname)values(’"&strno&"’,’"&strau&"’,’"&strname&"’)"

  3.用Recordset对象的Addnew插入数据的方法:

  语法:

  rs.addnew

  rs("field1").value=value1

  rs("field2").value=value2

  ...

  rs.update

  4.修改数据记录(Update)

  语法:

  updatetablesetfield1=value1,field2=value2,...wherefieldx=valuex

  例子:

  updatebooksetauthor=’babycrazy’wherebookno=’CF001’

  如果用到变量就如下:

  strno=request.form("bookno")

  strau=request.form("author")

  strsql="updatebooksetauthor=’"&strau&"’wherebookno=’"&strno"’"

  5.Recordset对象的Update方法:

  语法:

  rs("field1").value=value1

  rs("field2").value=value2

  ...

  rs.update

  注意:

使用语法3和语法5的时候,一定要注意字段的类型(尤其是日期型)一致,否则出错的几率非常的高。

  例子:

  strno=request.form("bookno")

  strau=request.form("author")

  setadocon=server.createobject("adodb.connection")

  adocon.open"Driver={MicrosoftAccessDriver(*.mdb)};DBQ="&_

  Server.Mappath=("/cancer/cancer.mdb")

  strsql="select*frombookwherebookno=’"&strno&"’"

  setrs=server.createobject("adodb.recordset")

  rs.openstrsql,adconn,1,3

  ifnotrs.eofthen’如果有此记录的话

  rs("author").value=strau

  rs.update

  endif

  rs.close

  setrs=nothing

  adocon.close

  setadocon=nothing

  6.删除一条记录(Delete)

  语法:

  Deletetablewherefield=value

  例子:

删除book表中作者是cancer的记录

  deletebookwhereauthor=’cancer’

  (注意:

如果book表中author字段的值为cancer的记录有多条,将会删除所有author为cancer的记录)

  好了,学会了用这些操作,大家在用asp操作数据库的时候,该是没有什么问题了。

一个ASP处理Ajax提交的表单的实例

昨天看见一位网友需要解决一些关于AJAX的FORM提交的问题,现在把一个实例贴出来,希望对广大爱好者有帮助。

--注册模块-->default.asp

DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:

//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

//www.w3.org/1999/xhtml">

Ajax - Sample1

      //请一定要将此页的编码设为UTF-8,否则将出现乱码

 

--

#Layer1 {

 position:

absolute;

 width:

200px;

 height:

115px;

 z-index:

1;

 left:

 409px;

 top:

 88px;

}

-->

Ajax应用实例:

 注册模块

  

ID:

 

Password:

 

当注册ID为 tony的用户时,后台验证该ID已存在,返回提示信息

为突出显示无刷新效果,服务器端程序将自动进行百万加法运算

----表单数据提交脚本--->REG.JS

function GE(a){return document.getElementById(a);}

function Check(){

 if(GE('regid').value==''){GE('msg').innerHTML='ID不能为空';return false}

 if(GE('regpassword').value==''){GE('msg').innerHTML='password 不能为空';return false}

 var X=new ActiveXObject("Msxml2.XMLHTTP");

 if(X){

  GE('regsubmit').disabled=true;

  X.onreadystatechange=function(){

   if(X.readyState==4){

    if(X.status==200){

     eval(X.responseText)

    }

    else{GE('msg').innerHTML=X.statusText}

   }

   else{GE('msg').innerHTML="正在提交数据..."}

  };

  X.open('POST','reg.asp',true);

  X.setRequestHeader('Content-Type','application/x-www-form-urlencoded');

  var SendData = 'regid='+GE('regid').value+'®password='+GE('regpassword').value+'&file='+GE('f').value

  X.send(SendData)

 }

 else{

 GE('msg').innerHTML='你的浏览器不支持XMLHttpRequest'

 }

}

---程序处理--->reg.asp

<%@ LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>//CODEPAGE必须为650001,否则也出现乱码,如果有HTML文字,一定设为UTF-8编码,否则将出现乱码.

<%

Dim regid, regpassword, str

regid=Request.Form("regid")

regpassword=Request.Form("regpassword")

f=Request.Form("file")

Dim i, ii

ii = 0

For i = 0 To 1000000

 ii = ii + i

Next

If regid="" or regpassword="" then

 str = "ID和PASSWORD必须填写"

Else

 If regid <> "tony" Then

  str = "注册成功,ID为" & regid & " , 密码为" & regpassword&f

 Else

   str = "注册失败,ID已经存在"

 End If

End if

Response.Write "GE('msg').innerHTML='" & str & "';GE('regsubmit').disabled=false"

Response.End

%>

这个实例本人认为比较全面,是我用AJAX表单提交的初学实例,相当够用!

如有错误,请指正!

谢谢!

ASP读取XML数据文件的方法

分别保存下面两段代码,一个保存为readxml.asp另一个保存为test.xml,放在同一个目录下面,调试程序即可,在程序里面我已经做了解释,读取代码可以做成一个readxml的函数,通过使用输入的参数而读取xml不同数据记录的不同的值。

这段程序的改编来自互联网,有什么出入请见谅。

readxml.asp

<%

dimxml,objNode,objAtr,nCntChd,nCntAtr

Setxml=Server.CreateObject("Microsoft.XMLDOM")

xml.Async=False

xml.Load(Server.MapPath("test.xml"))

SetobjNode=xml.documentElement

nCntChd=objNode.ChildNodes.length-1

'这个可以定义asp读取xml文件的那一个值,通过传递这个值来确定读取的数据

fori=0tonCntChd

setobjAtr=objNode.ChildNodes.item(i)

nCntAtr=objAtr.Attributes.length-1

'历遍一条记录里面的所有的记录项,记录是从0开始的

forj=0tonCntAtr

response.writeobjAtr.Attributes.item(j).Text&"
"

next

response.write"
"

next

SetobjAtr=Nothing

SetobjNode=Nothing

Setxml=Nothing

%>

test.xml

xmlversion="1.0"encoding="utf-8"?

>

DOM的对象和方法的简略说明:

documentElement属性     确认XML文件的根(Root)节点。

selectSingleNode        传回第一个符合样式的节点。

loadXML方法          加载一个XML文件或字符串的片断。

haschildnodes方法       如果指定的节点有一个或更多子节点,传回值为true。

createElement方法       建立一个指定名称的元素。

AppendChild方法        加上一个节点当作指定节点最后的子节点。

createCDATASection方法    建立一个包含特定数据的CDATA。

xml常规应用之asp读写文档

一个简单的新闻发布系统的说起:

首先,我们建立一个XML文档,命名为nnDB.xml:

---------------------------------------nnDB.xml---------------------------------------

  

xmlversion="1.0"encoding="GB2312"?

>

  

---------------------------------------nnDB.xml---------------------------------------

接着,做一个发布的页面,这个发布页面连带了有新闻的显示列表,把他命名为post.asp吧!

---------------------------------------post.asp---------------------------------------