ASP连接数据库的11种方法及相关语法Word下载.docx
《ASP连接数据库的11种方法及相关语法Word下载.docx》由会员分享,可在线阅读,更多相关《ASP连接数据库的11种方法及相关语法Word下载.docx(21页珍藏版)》请在冰豆网上搜索。
Driver={microsoftdbasedriver(*.dbf)};
driverid=277;
dbq=------------;
8.mySQL连接方法:
Driver={mysql};
database=yourdatabase;
uid=username;
pwd=yourpassword;
option=16386;
9.VisualFoxpro连接方法:
Driver={microsoftVisualFoxprodriver};
sourcetype=DBC;
sourceDB=*.dbc;
Exclusive=No;
10.MStext连接方法:
Driver={microsofttextdriver(*.txt;
*.csv)};
dbq=-----;
_
extensions=asc,csv,tab,txt;
PersistSecurityInfo=false;
11.MStextOLEDB连接方法:
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"
select*frombookwhereid="
intID
在很多数据库中,如:
oracle,上面的语句是可以写成:
select*frombookwhereid='
intID&
'
但是字符型一定不能按照数字格式写,需要注意。
2.添加记录(Insert)
Insertintotable(field1,field2,....)Values(value1,value2,....)
添加一作者是"
的记录入book表:
insertintobook(bookno,author,bookname)values(’CF001’,’cancer’,’Cancer无组件上传程序’)
同样,如果用到变量就如下:
strno=request.form("
bookno"
strname=request.form("
bookname"
insertintobook(bookno,author,bookname)values(’"
strno&
’,’"
strname&
’)"
3.用Recordset对象的Addnew插入数据的方法:
rs.addnew
rs("
field1"
).value=value1
field2"
).value=value2
...
rs.update
4.修改数据记录(Update)
updatetablesetfield1=value1,field2=value2,...wherefieldx=valuex
updatebooksetauthor=’babycrazy’wherebookno=’CF001’
如果用到变量就如下:
updatebooksetauthor=’"
’wherebookno=’"
strno"
5.Recordset对象的Update方法:
注意:
使用语法3和语法5的时候,一定要注意字段的类型(尤其是日期型)一致,否则出错的几率非常的高。
adocon.open"
Server.Mappath=("
/cancer/cancer.mdb"
select*frombookwherebookno=’"
setrs=server.createobject("
rs.openstrsql,adconn,1,3
ifnotrs.eofthen’如果有此记录的话
).value=strau
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"
>
xmlns="
//www.w3.org/1999/xhtml"
head>
title>
Ajax
-
Sample1<
/title>
meta
http-equiv="
Content-Type"
content="
text/html;
charset=utf-8"
/>
//请一定要将此页的编码设为UTF-8,否则将出现乱码
name="
tonyhl[at]"
pragma"
no-cache"
script
language="
javascript"
type="
text/javascript"
src="
reg.js"
/script>
link
rel="
stylesheet"
href="
css.css"
text/css"
media="
all"
style
--
#Layer1
{
position:
absolute;
width:
200px;
height:
115px;
z-index:
1;
left:
409px;
top:
88px;
}
-->
/style>
/head>
body>
h2>
Ajax应用实例:
注册模块<
/h2>
div
id="
Layer1"
msg"
/div>
ID:
input
text"
regid"
Password:
password"
regpassword"
f"
file"
submit"
regsubmit"
value="
注册"
onclick="
Check()"
当注册ID为
tony的用户时,后台验证该ID已存在,返回提示信息<
br
为突出显示无刷新效果,服务器端程序将自动进行百万加法运算
/body>
/html>
----表单数据提交脚本--->
REG.JS
function
GE(a){return
document.getElementById(a);
Check(){
if(GE('
regid'
).value=='
){GE('
msg'
).innerHTML='
ID不能为空'
;
return
false}
regpassword'
password
不能为空'
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('
).innerHTML=X.statusText}
).innerHTML="
正在提交数据..."
};
X.open('
POST'
'
reg.asp'
true);
X.setRequestHeader('
Content-Type'
application/x-www-form-urlencoded'
SendData
=
regid='
+GE('
).value+'
regpassword='
file='
f'
).value
X.send(SendData)
else{
你的浏览器不支持XMLHttpRequest'
}
---程序处理--->
reg.asp
%@
LANGUAGE="
VBSCRIPT"
CODEPAGE="
65001"
%>
//CODEPAGE必须为650001,否则也出现乱码,如果有HTML文字,一定设为UTF-8编码,否则将出现乱码.
%
Dim
regid,
regpassword,
str
regid=Request.Form("
)
regpassword=Request.Form("
f=Request.Form("
i,
ii
ii
0
For
i
0
To
1000000
+
i
Next
If
regid="
or
regpassword="
then
str
ID和PASSWORD必须填写"
Else
regid
tony"
Then
注册成功,ID为"
密码为"
regpassword&
f
注册失败,ID已经存在"
End
If
if
Response.Write
).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&
br>
next
response.write"
SetobjAtr=Nothing
SetobjNode=Nothing
Setxml=Nothing
test.xml
?
xmlversion="
1.0"
encoding="
utf-8"
?
root>
rowID="
1"
COMPNAME="
过桥轩"
ADDR="
广东省广州市越秀区北京路"
邮编="
510000"
TEL="
8620-8333"
PRODSERV="
经营面"
经济行业="
粥粉面店"
省份="
广东省"
地市="
广州市"
区域="
越秀区"
visit="
0"
优先级="
9999999999"
zhuangtai="
最新"
2"
周仔"
广东省广州市"
8620-8330"
经营快餐饮食"
快餐"
3"
香菜馆"
广东省广州市越秀区"
8620-837"
经营湘菜"
湘菜"
/root>
DOM的对象和方法的简略说明:
documentElement属性 确认XML文件的根(Root)节点。
selectSingleNode 传回第一个符合样式的节点。
loadXML方法 加载一个XML文件或字符串的片断。
haschildnodes方法 如果指定的节点有一个或更多子节点,传回值为true。
createElement方法 建立一个指定名称的元素。
AppendChild方法 加上一个节点当作指定节点最后的子节点。
createCDATASection方法 建立一个包含特定数据的CDATA。
xml常规应用之asp读写文档
一个简单的新闻发布系统的说起:
首先,我们建立一个XML文档,命名为nnDB.xml:
---------------------------------------nnDB.xml---------------------------------------
GB2312"
data>
news>
/news>
/data>
接着,做一个发布的页面,这个发布页面连带了有新闻的显示列表,把他命名为post.asp吧!
---------------------------------------post.asp---------------------------------------
style>
#news_list{width:
430px;
float:
left;
border:
1pxsolid#CFCFCF;
}
#tt{width:
300px;
border-top:
#pt{width:
129px;
right;
#ct{width:
#news_listlispan{font-size:
12px;
letter-spacing:
1px;
font-family:
Tahoma;
#c1{width:
40px;
padding:
5