yang 发表于 2008-6-18 00:26:53

ASP连接数据库的11种方法

<P>ASP连接数据库的11种方法——本文总结了使用ASP链接各种数据库的方法:</P>
<P>  1.Access数据库的DSN-less连接方法:</P>
<P>set adocon=Server.Createobject("adodb.connection")<BR>adoconn.Open"Driver={Microsoft Access Driver(*.mdb)};DBQ="&amp; _<BR>Server.MapPath("数据库所在路径")</P>
<P>  2.Access OLE DB连接方法:</P>
<P>set adocon=Server.Createobject("adodb.connection")<BR>adocon.open"Provider=Microsoft.Jet.OLEDB.4.0;"&amp; _<BR>"Data Source=" &amp; Server.MapPath("数据库所在路径")</P>
<P>  3.SQL server连接方法:</P>
<P>set adocon=server.createobject("adodb.recordset")<BR>adocon.Open"Driver={SQL Server};Server=(Local);UID=***;PWD=***;"&amp; _<BR>"database=数据库名;"</P>
<P>  4.SQL server OLE DB连接方法:</P>
<P>set adocon=Server.Createobject("adodb.connection")<BR>adocon.open"provider=SQLOLEDB.1;Data Source=RITANT4;"&amp; _<BR>"user ID=***;Password=***;"&amp; _<BR>"inital Catalog=数据库名"</P>
<P><BR>  5.Oracle 连接方法:</P>
<P>set adocon=Server.Createobject("adodb.connection")<BR>adocon.open"Driver={microsoft odbc for oracle};server=oraclesever.world;uid=admin;pwd=pass;"</P>
<P>  6.Oracle OLE DB 连接方法:</P>
<P>set adocon=Server.Createobject("adodb.connection")<BR>adocon.open"Provider=OraOLEDB.Oracle;data source=dbname;user id=admin;password=pass;"</P>
<P>  7.dBase 连接方法:</P>
<P>set adocon=Server.Createobject("adodb.connection")<BR>adocon.open"Driver={microsoft dbase driver(*.dbf)};driverid=277;dbq=------------;"</P>
<P>  8.mySQL 连接方法:</P>
<P>set adocon=Server.Createobject("adodb.connection")<BR>adocon.open"Driver={mysql};database=yourdatabase;<BR>uid=username;pwd=yourpassword;option=16386;"</P>
<P>  9.Visual Foxpro 连接方法:</P>
<P>set adocon=Server.Createobject("adodb.connection")<BR>adocon.open"Driver={microsoft Visual Foxpro driver};sourcetype=DBC;sourceDB=*.dbc;Exclusive=No;"</P>
<P>  10.MS text 连接方法:</P>
<P>set adocon=Server.Createobject("adodb.connection")<BR>adocon.open"Driver={microsoft text driver(*.txt; *.csv)};dbq=-----;"&amp;_<BR>"extensions=asc,csv,tab,txt;Persist SecurityInfo=false;"</P>
<P>  11.MS text OLE DB 连接方法:</P>
<P>set adocon=Server.Createobject("adodb.connection")<BR>adocon.open"Provider=microsof.jet.oledb.4.0;data source=your_path;"&amp;_<BR>"Extended Properties'text;FMT=Delimited'"</P>
<P>&nbsp;</P>
<P>&lt;二&gt;常用的四种SQL命令:</P>
<P>  1.查询数据记录(Select)<BR>  语法:Select 字段串行 From table Where 字段=内容<BR>  例子:想从book表中找出作者为"cancer"的所有记录,SQL语句便如下:</P>
<P>select * from book where author=’cancer’</P>
<P>  "*"是取出book表所有的字段,如查询的字段值为数字,则其后的"内容"便无须加上单引号,如是日期,则在Access中用(#)包括,而在SQL server中则用(’)包括,<BR>如:</P>
<P>select * from book where id=1<BR>select * from book where pub_date=#2002-1-7# (Access)<BR>select * from book where pub_date=’2002-1-7’ (SQL Server)</P>
<P>  提示:<BR>  日期函数to_date不是标准sql文,不是所有的数据库适用,所以大家在使用的时候要参考数据库具体语法</P>
<P>  另外如果是查询传入的变量,则如下:</P>
<P>strau=request.form("author")<BR>strsql="select * from book where author=’"&amp;strau&amp;"’"</P>
<P>  如果查询的是数字,则:</P>
<P>intID=request.form("id")<BR>strsql="select * from book where id="&amp;intID</P>
<P>  在很多数据库中,如:oracle,上面的语句是可以写成:</P>
<P>strsql="select * from book where id='"&amp;intID&amp;"'"</P>
<P>  但是字符型一定不能按照数字格式写,需要注意。</P>
<P><BR>  2.添加记录(Insert)<BR>  语法:</P>
<P>Insert into table(field1,field2,....) Values (value1,value2,....)</P>
<P>  例子:添加一作者是"cancer"的记录入book表:</P>
<P>insert into book (bookno,author,bookname) values (’CF001’,’cancer’,’Cancer无组件上传程序’)</P>
<P>  同样,如果用到变量就如下:</P>
<P>strno=request.form("bookno")<BR>strau=request.form("author")<BR>strname=request.form("bookname")<BR>strsql="insert into book (bookno,author,bookname) values (’"&amp;strno&amp;"’,’"&amp;strau&amp;"’,’"&amp;strname&amp;"’)"</P>
<P>  3.用Recordset对象的Addnew插入数据的方法:<BR>  语法:</P>
<P>rs.addnew<BR>rs("field1").value=value1<BR>rs("field2").value=value2<BR>...<BR>rs.update</P>
<P>  4.修改数据记录(Update)<BR>  语法:</P>
<P>update table set field1=value1,field2=value2,...where fieldx=valuex</P>
<P>  例子:</P>
<P>update book set author=’babycrazy’ where bookno=’CF001’</P>
<P>  如果用到变量就如下:</P>
<P>strno=request.form("bookno")<BR>strau=request.form("author")<BR>strsql="update book set author=’"&amp;strau&amp;"’ where bookno=’"&amp;strno"’"</P>
<P><BR>  5.Recordset对象的Update方法:<BR>  语法:</P>
<P>rs("field1").value=value1<BR>rs("field2").value=value2<BR>...<BR>rs.update</P>
<P>  注意:使用语法3和语法5的时候,一定要注意字段的类型(尤其是日期型)一致,否则出错的几率非常的高。</P>
<P>  例子:</P>
<P>strno=request.form("bookno")<BR>strau=request.form("author")<BR>set adocon=server.createobject("adodb.connection")<BR>adocon.open "Driver={Microsoft Access Driver(*.mdb)};DBQ=" &amp; _<BR>Server.Mappath=("/cancer/cancer.mdb")<BR>strsql="select * from book where bookno=’"&amp;strno&amp;"’"<BR>set rs=server.createobject("adodb.recordset")<BR>rs.open strsql,adconn,1,3<BR>if not rs.eof then ’如果有此记录的话<BR>rs("author").value=strau<BR>rs.update<BR>end if<BR>rs.close<BR>set rs=nothing<BR>adocon.close<BR>set adocon=nothing</P>
<P>  6.删除一条记录(Delete)<BR>  语法:</P>
<P>Delete table where field=value</P>
<P>  例子:删除book表中作者是cancer的记录</P>
<P>delete book where author=’cancer’</P>
<P>  (注意:如果book表中author字段的值为cancer的记录有多条,将会删除所有author为cancer的记录)<BR></P>

娱乐书生 发表于 2008-6-18 15:57:45

支持啊  忽忽:o :o

kun404796045 发表于 2009-12-27 18:09:37

我常用的是第一、二种方法
页: [1]
查看完整版本: ASP连接数据库的11种方法

唯一的遗憾是我们连一张合照都没有。