ASP数据库语法总结

上一篇 / 下一篇  2007-05-25 09:26:47 / 个人分类:SQL

m({v!f H2Dqg0<一>。数据库的连接方法:51Testing软件测试网7g {n |[:D

qV4zU/F01.Access数据库的DSN-less连接方法:51Testing软件测试网*SB _]1mqDy

51Testing软件测试网,{v1jK5Tut

set adocon=Server.Createobject("adodb.connection")
9la9a^L]%{ P$G0adoconn.Open"Driver={Microsoft Access Driver(*.mdb)};DBQ="& _
9q'R%a9Q'_g0Server.MapPath("数据库所在路径")51Testing软件测试网6df._iL0J$Qn

'{FAZ XQP8J:Fp*L02.Access OLE DB连接方法:

)d m P8O3T051Testing软件测试网,v+~m{g])Z

set adocon=Server.Createobject("adodb.connection")51Testing软件测试网 JX^8@ ?%a0``&f
adocon.open"Provider=Microsoft.Jet.OLEDB.4.0;"& _
x2a#[X,m,]8PJ0"Data Source=" & Server.MapPath("数据库所在路径")

XHISD/e+^051Testing软件测试网bvd9}^?'a

3.SQL server连接方法:51Testing软件测试网4[rur!z-d~]@4OF

51Testing软件测试网o7\w]~9b J

set adocon=server.createobject("adodb.recordset")51Testing软件测试网7@sK"l!Nq }#^"S
adocon.Open"Driver={SQL Server};Server=(Local);UID=***;PWD=***;"& _51Testing软件测试网;eX/?E0r%k
"database=数据库名;"51Testing软件测试网 }/ju)Pt%T$U

51Testing软件测试网 _h7x#KA

4.SQL server OLE DB连接方法:

it'j9EG051Testing软件测试网b7I3\}]

set adocon=Server.Createobject("adodb.connection")51Testing软件测试网#q i:\'t9e,_/_ k
adocon.open"provider=SQLOLEDB.1;Data Source=RITANT4;"& _51Testing软件测试网 Y#|;~yecGJ
"user ID=***;Password=***;"& _
k}0B|:QcMo0"inital Catalog=数据库名"51Testing软件测试网{xVrF

`%H%C4]9gr-X&T05.Oracle 连接方法:51Testing软件测试网o5~5Mfz `bB

Z,Ko;|2L3ud"~4Z6J0set adocon=Server.Createobject("adodb.connection")51Testing软件测试网x5\/y b,\ hP,q R aA'w
adocon.open"Driver={microsoft odbc for oracle};server=oraclesever.world;uid=admin;pwd=pass;"

u6l;_&}B7JkrA0

*]x F;T@:z06.Oracle OLE DB 连接方法:51Testing软件测试网N&j/Ua,h s

51Testing软件测试网T;h b"o q h E:R

set adocon=Server.Createobject("adodb.connection")51Testing软件测试网6zf` tZ!H!`-V
adocon.open"Provider=OraOLEDB.Oracle;data source=dbname;user id=admin;password=pass;"51Testing软件测试网)r'}_:l*Qy ^~

51Testing软件测试网 ]B3R1J)K0g%su4E

7.dBase 连接方法:51Testing软件测试网"i4H%b/[WK8Da S[0P a

51Testing软件测试网:`B6`oG"JMl6UX

set adocon=Server.Createobject("adodb.connection")
u0H#k5z}YDkW$r0adocon.open"Driver={microsoft dbase driver(*.dbf)};driverid=277;dbq=------------;"

Xw*Fu/W gt0

#dmU!zE hkH"e.t08.mySQL 连接方法:51Testing软件测试网z2j$Cww;L

!mb1})|I0G%@0set adocon=Server.Createobject("adodb.connection")
#~+[T%W-u:Ix0adocon.open"Driver={mysql};database=yourdatabase;uid=username;pwd=yourpassword;option=16386;"

(f"qlZX0

-@ut~'~ Nj09.Visual Foxpro 连接方法:51Testing软件测试网E;x"l~w,J#[

~.PUz'Z:|ACi0set adocon=Server.Createobject("adodb.connection")
Pxu8D6qa"^&]u2?0adocon.open"Driver={microsoft Visual Foxpro driver};sourcetype=DBC;sourceDB=*.dbc;Exclusive=No;"51Testing软件测试网p;z8a{/W

i,zKw9HWW010.MS text 连接方法:

`2bMX t}+Ts`J051Testing软件测试网0\C,t pXt

set adocon=Server.Createobject("adodb.connection")
7F7{S&|1[ql$P0adocon.open"Driver={microsoft text driver(*.txt; *.csv)};dbq=-----;"&_51Testing软件测试网+F@g(r|'D
"extensions=asc,csv,tab,txt;Persist SecurityInfo=false;"

vG6A3u4AaY/W*r051Testing软件测试网 bQU7a{;P_O

11.MS text OLE DB 连接方法:

-}+iC\.t051Testing软件测试网;H1J(^+DG ok&a

set adocon=Server.Createobject("adodb.connection")
2X!^Nk*k%P-ejC0adocon.open"Provider=microsof.jet.oledb.4.0;data source=your_path;"&_
At:QZ#x J(CXM q.P7d0"Extended Properties'text;FMT=Delimited'"

s3x4KND9a[#]051Testing软件测试网/X$dq)Yl']:g

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

&Oj)tx v2vfM051Testing软件测试网 t5GCo)zr7S W*t

1.查询数据记录(Select)51Testing软件测试网1l6R(_b#m\kvX
语法:Select 字段串行 From table Where 字段=内容51Testing软件测试网Y)koZ{Pf-_ H o
例子:想从book表中找出作者为"cancer"的所有记录,SQL语句便如下:
5k-E_ vk*Mc'^0select * from book where author=’cancer’51Testing软件测试网|F:]!I1?:am
"*"是取出book表所有的字段,如查询的字段值为数字,则其后的"内容"便无须加上单引号,51Testing软件测试网4L^3I.al R

51Testing软件测试网Ia3?Sif.]N

如是日期,则在Access中用(#)包括,而在SQL server中则用(’)包括,
t2h a?$J(^]+~0如:51Testing软件测试网NZ h,cH8e/Yc

}t)ACFP'Z0select * from book where id=1
*vz2m:O?/d@ o0select * from book where pub_date=#2002-1-7# (Access)
r'RRI,Q+j/|M$j9Qj0select * from book where pub_date=’2002-1-7’ (SQL Server)51Testing软件测试网e Q/wX)o2s

51Testing软件测试网0x%g:vNJ\

提示:
2H\ k"Sw0g [0日期函数to_date不是标准sql文,不是所有的数据库适用,所以大家在使用的时候要参考数据库具体语法51Testing软件测试网5LA&H;_0Iq.m5U r

51Testing软件测试网`r:E/qT|Iv

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

(VZ6GgXy+qh si0

"h G1\ O7I0strau=request.form("author")
8u&d+vmN1Cb M;S0strsql="select * from book where author=’"&strau&"’"51Testing软件测试网,YO)j:sG

51Testing软件测试网-C3W Y DV(?

如果查询的是数字,则:

6\"Rc&](}R\ uv6C[/n0

s6?s(vh2? fs0intID=request.form("id")51Testing软件测试网L9t["PDk7q'XuV
strsql="select * from book where id="&intID

-a(_%}l'I1S0

4`xhU#ODf0在很多数据库中,如:oracle,上面的语句是可以写成:
V8|7K)d%}@0strsql="select * from book where id='"&intID&"'"的。
8Omu;D+T&dS:u(J0但是字符型一定不能按照数字格式写,需要注意。51Testing软件测试网6G8RP4`L9Y

51Testing软件测试网 cDjs|

2.添加记录(Insert)
*BQpQ k%oX;L'q0语法:Insert into table(field1,field2,....) Values (value1,value2,....)
.ab3P(W*V0例子:添加一作者是"cancer"的记录入book表:
q,W~(d#\@!HMY0insert into book (bookno,author,bookname) values (’CF001’,’cancer’,’Cancer无组件上传程序’)
jXW a;@;`,C0同样,如果用到变量就如下:

(dZ NT {?4xYQo051Testing软件测试网._-xB!AK8C

strno=request.form("bookno")
O.pl[,iY3m!C G0strau=request.form("author")
'_k O[O~0strname=request.form("bookname")
3^S?-O^.O0strsql="insert into book (bookno,author,bookname) values (’"&strno&"’,’"&strau&"’,’"&strname&"’)"

8{1ol'ru"x3X051Testing软件测试网2I/t5hPWZ

3.用Recordset对象的Addnew插入数据的方法:51Testing软件测试网H9TWa SK,W
语法:51Testing软件测试网Q/w/aKI*a

51Testing软件测试网`V9xx v K!K ee4m'~

rs.addnew
a ?ng8jN f*t0rs("field1").value=value151Testing软件测试网!F'o%N`T|vc Dk%A
rs("field2").value=value251Testing软件测试网 }Mi$T#th/n m
...
c7t0LPhi8G x1c!T0rs.update51Testing软件测试网!d mX V/W9UAW_

5nB*INEK3k'R @#Jx04.修改数据记录(Update)
+WT N0pk9d0语法:update table set field1=value1,field2=value2,...where fieldx=valuex51Testing软件测试网'\#cE(D*|
例子:update book set author=’babycrazy’ where bookno=’CF001’51Testing软件测试网*qJ.xx|$R|k
如果用到变量就如下:

+~caQW.hS G\9Y0

Xef FiF V0strno=request.form("bookno")
0Y:cX sdad0strau=request.form("author")
6}m F })sw3w0strsql="update book set author=’"&strau&"’ where bookno=’"&strno"’"

;pz/g$IV2X7})F0

7vRF)~4]@Ho"|05.Recordset对象的Update方法:
%Q? p*tdV W g0语法:

sV3w,Tv/x%ZY6L#g0

G"G"I6C T z)L S0rs("field1").value=value151Testing软件测试网.EK;z\,l
rs("field2").value=value2
5bX.wr#ji^0...
?$z*|%ALOfI0rs.update

7s8j Z(T-d-{b$HL%{(x$^051Testing软件测试网S(?XE(\5G-y S:~

注意:使用语法3和语法5的时候,一定要注意字段的类型(尤其是日期型)一致,否则出错的几率非常的高。51Testing软件测试网4EbV q5r$n

5t&lv6p7US051Testing软件测试网B vri i C
例子:

xD9uT0|f-~L.O051Testing软件测试网 U!ho0aI;Q

strno=request.form("bookno")51Testing软件测试网V'I2D|iN3l
strau=request.form("author")51Testing软件测试网%i.yHk:aUv-^&A$_c
set adocon=server.createobject("adodb.connection")
T8pE ~'V%a(Wj0adocon.open "Driver={Microsoft Access Driver(*.mdb)};DBQ=" & _51Testing软件测试网[9fOg~3Y#d'EbX3^'G
Server.Mappath=("/cancer/cancer.mdb")
(l vv C8^)\gXhG%p0strsql="select * from book where bookno=’"&strno&"’"51Testing软件测试网z:N|I3]a;N
set rs=server.createobject("adodb.recordset")51Testing软件测试网^hqgrc
rs.open strsql,adconn,1,3
U.^j |RJ'rpP0if not rs.eof then ’如果有此记录的话
&wG!i"Cc W$O0rs("author").value=strau
FaW!\/x0rs.update
#_N.mU&n}A5P]s0end if51Testing软件测试网._a6i@ _ X
rs.close
)OE,Zrf Q0set rs=nothing
o5XU8X;vcO[7T0P0adocon.close
i/e0w"~"Z1R.U}M0set adocon=nothing

+e0y%Fm0xi5S4Gi`051Testing软件测试网'~;W%OB%al*l

6.删除一条记录(Delete)51Testing软件测试网.E-Y#g bqu3un C:`
语法:Delete table where field=value51Testing软件测试网l7}~ p.|R9M
例子:删除book表中作者是cancer的记录

ju,Hk(I SZ0

%iRb"LK+M w0delete book where author=’cancer’51Testing软件测试网 z)cIopNK&y)`

4C e'CffCUZ0(注意:如果book表中author字段的值为cancer的记录有多条,将会删除所有author为cancer的记录)51Testing软件测试网*XbS)g7G

51Testing软件测试网I0I7C9v5@

 51Testing软件测试网D3JPP6iWtU5G"K TK&C


TAG: SQL

 

评分:0

我来说两句

Open Toolbar