词条 | ASP连接数据库 |
释义 | 在使用asp语言建立网站时,常常需要用数据库记录一些信息,如访客发表的留言、访客访问时间等。此时就需要用到asp连接数据库的代码连接数据库后便于进行数据添加删除等操作。 连接方法(DSN-less方法 Access OLE DB方法 SQL server方法 SQL server OLE DB方法 Oracle 方法 Oracle OLE DB 方法 dBase 方法 mySQL 方法 Visual Foxpro 方法 MS text 方法 MS text OLE DB 方法) 四种SQL命令(查询数据记录(Select) 添加记录(Insert) Addnew方法: 修改数据记录(Update) Update方法: 删除一条记录(Delete)) 语法总结经常使用到有关数据库的操作。包括连接代码、SQL命令与语法等等,又不曾刻意去记忆它们(我本人是不愿意去记这东东),所以常常在用到的时候又去查书本,翻来翻去。一些比较少用的数据库还不一定能顺利找到,所以现在把它们全归纳到这里,提供大家参考。 连接方法DSN-less方法set adocon=Server.Createobject("adodb.connection") adocon.Open"Driver={Microsoft Access Driver (*.mdb)};DBQ="& _ Server.MapPath("数据库所在路径") Access OLE DB方法set adocon=Server.Createobject("adodb.connection") adocon.open"Provider=Microsoft.Jet.OLEDB.4.0;"& _ "Data Source=" & Server.MapPath("数据库所在路径") SQL server方法set adocon=server.createobject("adodb.connection") adocon.Open"Driver={SQL Server};Server=(Local);UID=***;PWD=***;"& _ "database=数据库名;" SQL server OLE DB方法set adocon=Server.Createobject("adodb.connection") adocon.open"provider=SQLOLEDB.1;Data Source=RITANT4;"& _ "user ID=***;Password=***;"& _ "inital Catalog=数据库名" Oracle 方法set adocon=Server.Createobject("adodb.connection") adocon.open"Driver={microsoft odbc for oracle};server=oraclesever.world;uid=admin;pwd=pass;" Oracle OLE DB 方法set adocon=Server.Createobject("adodb.connection") adocon.open"Provider=OraOLEDB.Oracle;data source=dbname;user id=admin;password=pass;" dBase 方法set adocon=Server.Createobject("adodb.connection") adocon.open"Driver={microsoft dbase driver(*.dbf)};driverid=277;dbq=------------;" mySQL 方法set adocon=Server.Createobject("adodb.connection") adocon.open"Driver={mysql};database=yourdatabase; uid=username;pwd=yourpassword;option=16386;" Visual Foxpro 方法set adocon=Server.Createobject("adodb.connection") adocon.open"Driver={microsoft Visual Foxpro driver};sourcetype=DBC;sourceDB=*.dbc;Exclusive=No;" MS text 方法set adocon=Server.Createobject("adodb.connection") adocon.open"Driver={microsoft text driver(*.txt; *.csv)};dbq=-----;"&_ "extensions=asc,csv,tab,txt;Persist SecurityInfo=false;" MS text OLE DB 方法set adocon=Server.Createobject("adodb.connection") adocon.open"Provider=microsof.jet.oledb.4.0;data source=your_path;"&_ "Extended Properties'text;FMT=Delimited'" 四种SQL命令查询数据记录(Select)语法:Select 字段串行 From table Where 字段=内容 例子:想从book表中找出作者为"cancer"的所有记录,SQL语句便如下: select * from book where author=’cancer’ "*"是取出book表所有的字段,如查询的字段值为数字,则其后的"内容"便无须加上单引号,如是日期,则在Access中用(#)包括,而在SQL server中则用(’)包括, 如: select * from book where id=1 select * from book where pub_date=#2002-1-7# (Access) select * from book where pub_date=’2002-1-7’ (SQL Server) 提示: 日期函数to_date不是标准sql文,不是所有的数据库适用,所以大家在使用的时候要参考数据库具体语法 另外如果是查询传入的变量,则如下: strau=request.form("author") strsql="select * from book where author=’"&strau&"’" 如果查询的是数字,则: intID=request.form("id") strsql="select * from book where id="&intID 在很多数据库中,如:oracle,上面的语句是可以写成: strsql="select * from book where id='"&intID&"'" 但是字符型一定不能按照数字格式写,需要注意。 添加记录(Insert)语法: Insert into table(field1,field2,....) Values (value1,value2,....) 例子:添加一作者是"cancer"的记录入book表: insert into book (bookno,author,bookname) values (’CF001’,’cancer’,’Cancer无组件上传程序’) 同样,如果用到变量就如下: strno=request.form("bookno") strau=request.form("author") strname=request.form("bookname") strsql="insert into book (bookno,author,bookname) values (’"&strno&"’,’"&strau&"’,’"&strname&"’)" Addnew方法:用Recordset对象的Addnew插入数据的方法: 语法: rs.addnew rs("field1").value=value1 rs("field2").value=value2 ... rs.update 修改数据记录(Update)语法: update table set field1=value1,field2=value2,...where fieldx=valuex 例子: update book set author=’babycrazy’ where bookno=’CF001’ 如果用到变量就如下: strno=request.form("bookno") strau=request.form("author") strsql="update book set author=’"&strau&"’ where bookno=’"&strno"’" Update方法:用Recordset对象的update的方法: 语法: rs("field1").value=value1 rs("field2").value=value2 ... rs.update 注意:使用语法3和语法5的时候,一定要注意字段的类型(尤其是日期型)一致,否则出错的几率非常的高。 例子: strno=request.form("bookno") strau=request.form("author") set adocon=server.createobject("adodb.connection") adocon.open "Driver={Microsoft Access Driver(*.mdb)};DBQ=" & _ Server.Mappath=("/cancer/cancer.mdb") strsql="select * from book where bookno=’"&strno&"’" set rs=server.createobject("adodb.recordset") rs.open strsql,adconn,1,3 if not rs.eof then ’如果有此记录的话 rs("author").value=strau rs.update end if rs.close set rs=nothing adocon.close set adocon=nothing 删除一条记录(Delete)语法: Delete table where field=value 例子:删除book表中作者是cancer的记录 delete book where author=’cancer’ (注意:如果book表中author字段的值为cancer的记录有多条,将会删除所有author为cancer的记录) 好了,学会了用这些操作,大家在用asp操作数据库的时候,该是没有什么问题了。 提示日期函数to_date不是标准sql文,不是所有的数据库适用,所以大家在使用的时候要参考数据库具体语法 另外如果是查询传入的变量,则如下: strau=request.form("author") strsql="select * from book where author=’"&strau&"’" 如果查询的是数字,则: intID=request.form("id") strsql="select * from book where id="&intID 在很多数据库中,如:oracle,上面的语句是可以写成: strsql="select * from book where id='"&intID&"'" 但是字符型一定不能按照数字格式写,需要注意。 2.添加记录(Insert) 语法: Insert into table(field1,field2,....) Values (value1,value2,....) 例子:添加一作者是"cancer"的记录入book表: insert into book (bookno,author,bookname) values (’CF001’,’cancer’,’Cancer无组件上传程序’) 同样,如果用到变量就如下: strno=request.form("bookno") strau=request.form("author") strname=request.form("bookname") strsql="insert into book (bookno,author,bookname) values (’"&strno&"’,’"&strau&"’,’"&strname&"’)" 3.用Recordset对象的Addnew插入数据的方法: 语法: rs.addnew rs("field1").value=value1 rs("field2").value=value2 ... rs.update 4.修改数据记录(Update) 语法: update table set field1=value1,field2=value2,...where fieldx=valuex 例子: update book set author=’babycrazy’ where bookno=’CF001’ 如果用到变量就如下: strno=request.form("bookno") strau=request.form("author") strsql="update book set author=’"&strau&"’ where bookno=’"&strno"’" 5.Recordset对象的Update方法: 语法: rs("field1").value=value1 rs("field2").value=value2 ... rs.update 注意:使用语法3和语法5的时候,一定要注意字段的类型(尤其是日期型)一致,否则出错的几率非常的高。 例子: strno=request.form("bookno") strau=request.form("author") set adocon=server.createobject("adodb.connection") adocon.open "Driver={Microsoft Access Driver(*.mdb)};DBQ=" & _ Server.Mappath=("/cancer/cancer.mdb") strsql="select * from book where bookno=’"&strno&"’" set rs=server.createobject("adodb.recordset") rs.open strsql,adconn,1,3 if not rs.eof then ’如果有此记录的话 rs("author").value=strau rs.update end if rs.close set rs=nothing adocon.close set adocon=nothing 6.删除一条记录(Delete) 语法: Delete table where field=value 例子:删除book表中作者是cancer的记录 delete book where author=’cancer’ (注意:如果book表中author字段的值为cancer的记录有多条,将会删除所有author为cancer的记录) 好了,学会了用这些操作,大家在用asp操作数据库的时候,该是没有什么问题了。 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。