注册 | 登录 忘记密码? 51cto首页 | 博客 | 论坛 | 招聘
热点文章 QoS流量的分类和标记
 帮助

asp数据库开发必备语句


2008-05-03 20:04:43
 标签:asp   [推送到技术圈]

版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://leoamin.blog.51cto.com/265832/74684
Conna 文件的格式:
<%
set conn=server.createobject("adodb.connection")
connpath="DBQ="&SERVER.MapPath("kaoshidata.mdb")
conn.open "DRIVER={MICROSOFT ACCESS DRIVER (*.mdb)};"&connpath
set rs=conn.execute("select * from superadmin")
%>
模块化编程
<!--#include file="conna.asp"-->
登录代码模块
<!--#include file="conna.asp"-->
<%dim guestname
dim guestpwd
guestname=request("guest_name")
guestpwd=request("guest_pwd")
%>
<%sql="select * from student where 帐号='"&guestname&"'"
set rs=conn.execute(sql)
if  not rs.eof then
if rs("密码")<>guestpwd then%>
<%message="帐号或密码出错!"%>
<%response.Redirect "enter1.asp?message="&message%>
<%end if
%>
<%session("user")=guestname
session("userpass")=guestpwd
response.Redirect "kaoshiindex.asp"
end if%>
<%if rs.eof then%>
<%message="帐号或密码出错!"%>
<%response.Redirect "enter1.asp?message="&message
end if
%>
SQL代码的运用
Update 的用法:
Update 表名或’”&tablename”’ set 字段名=’”&参数1&”’ where 字段=’”&参数2&”’
Select 的用法:
Select * from  “&tablename&”  where 字段名=’”&参数&”’ order by 字段名 desc
Insert 的用法:
Insert  into “&tablename&” (字段1,字段2,字段3) values (‘”&参数1&”’, ‘”&参数2&”’, ‘”&参数3&”’)
Delete 的用法:
Delete from 表名 或者 “&参数&” where 用户名=’”&参数1”’ and 字段2 =’”&参数2&”’
链接传递参数:
<a href = “index.asp?ID=<%=rs(“编号”)%>” ></a>
或者
<a href = “index.asp?ID=<%=”&参数”%>” ></a>
<a href="shangcai.asp?table=<%=rs("表名")%>&caiming=<%=rs1("菜名")%>">上菜</a><
 
<一>数据库的连接方法:
  1.Access数据库的DSN-less连接方法:
  set adocon=Server.Createobject("adodb.connection")
  adoconn.Open"Driver={Microsoft Access Driver(*.mdb)};DBQ="& _
  Server.MapPath("数据库所在路径")
  2.Access OLE DB连接方法:
  set adocon=Server.Createobject("adodb.connection")
  adocon.open"Provider=Microsoft.Jet.OLEDB.4.0;"& _
  "Data Source=" & Server.MapPath("数据库所在路径")
  3.SQL server连接方法:
  set adocon=server.createobject("adodb.recordset")
  adocon.Open"Driver={SQL Server};Server=(Local);UID=***;PWD=***;"& _
  "database=数据库名;"
  4.SQL server OLE DB连接方法:
  set adocon=Server.Createobject("adodb.connection")
  adocon.open"provider=SQLOLEDB.1;Data Source=RITANT4;"& _
  "user ID=***;Password=***;"& _
  "inital Catalog=数据库名"
  5.Oracle 连接方法:
  set adocon=Server.Createobject("adodb.connection")
  adocon.open"Driver={microsoft odbc for oracle};server=oraclesever.world;uid=admin;pwd=pass;"
  6.Oracle OLE DB 连接方法:
  set adocon=Server.Createobject("adodb.connection")
  adocon.open"Provider=OraOLEDB.Oracle;data source=dbname;user id=admin;password=pass;"
  7.dBase 连接方法:
  set adocon=Server.Createobject("adodb.connection")
  adocon.open"Driver={microsoft dbase driver(*.dbf)};driverid=277;dbq=------------;"
  8.mySQL 连接方法:
  set adocon=Server.Createobject("adodb.connection")
  adocon.open"Driver={mysql};database=yourdatabase;
  uid=username;pwd=yourpassword;option=16386;"
  9.Visual Foxpro 连接方法:
  set adocon=Server.Createobject("adodb.connection")
  adocon.open"Driver={microsoft Visual Foxpro driver};sourcetype=DBC;sourceDB=*.dbc;Exclusive=No;"
  10.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;"
  11.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命令:
  1.查询数据记录(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&"'"
  但是字符型一定不能按照数字格式写,需要注意。
  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操作数据库的时候,该是没有什么问题了

本文出自 “.net爱好者” 博客,请务必保留此出处http://leoamin.blog.51cto.com/265832/74684





    文章评论
 
 

发表评论

昵   称:
验证码:  点击图片可刷新验证码  博客过2级,无需填写验证码
内   容: