asp数据库学习笔记

asp数据库学习笔记
asp数据库学习笔记

编程语言的功能

一、编程语言不外乎就这几种功能

1.读取

2.添加

3.修改

4.删除

5.查询

6.统计

首先我们谈谈数据库:

ASP一般使用ACCESS 和SQL 数据库

初学者最好先使用ACCESS 数据库,装个OFFIEC 就已经自带ACCESS 数据库了

二、ASP读取数据:

<%

Set rs=Server.CreateObject("ADODB.Recordset")

rs.open "select * from 表名order by id desc",conn,1,1 'order by用来排序id为排序字段,desc为倒序,asc为顺序,1,1为只读,1,3为可操作

do while not rs.eof '循环开始

response.write rs("abc") '显示数据

rs.movenext '循环下一条数据

loop

rs.close '关闭rs记录

set rs=nothing '清除rs记录集

%>

(do while loop 和以下是相同的功能while wend

while not rs.eof

response.write rs("xm")

response.write("
")

response.write rs("bm")

rs.movenext

wend

rs.close

set rs=nothing )

(Set rs=Server.CreateObject("ADODB.Recordset" 是建立一个数据集,前面应该先定义此数据集。dim rs as adodb.recordset,然后就可以用

set rs=server.CreateObject("adodb.recordset")

来建立一个数据集的实例,当然此时数据集中是没有数据的

rs.open ......

来打开一个记录集

rs.append或者rs.insert来添加记录

rs.edit来修改记录

对于添加或修改的记录,可以用

rs.fields("字段名")=xxx

来进行赋值

rs.update

把更改过的值更新回数据库)

三、ASP添加新数据:

第一种添加方式代码:

<%

Set rs=Server.CreateObject("ADODB.Recordset")

rs.open "select * from 表名",conn,1,3 '这里添加新数据就不需要排序了,1,3上面我们已经说了,是可对数据库操作修改的意思

rs.addnew '开始新数据

rs("字段1")="123456" '将数据添加到字段1

rs("字段2")="123456" '同上()统统都是将后面的赋值给前面的

rs.update '开始向数据库写入

rs.close '关闭rs记录

set rs=nothing '清除rs记录集

%>

这种添加方式适合ACCESS和SQL数据库的任何方式连接

下面这个添加语句只适合ACCESS的第②种连接方式,同时也适合SQL数据库任何方式连接

第二种添加方式代码:

<%

conn.execute "insert into 表名(字段1,字段2) values('123456','123456')" '两个括号中要一一对应,多个内容添加用逗号隔开

%>

上面这段添加语句唯一不支持ACCESS第①种数据库连接方式

四、ASP修改数据:

ASP修改数据多数用在查询指定的数据然后去修改那条数据

第一种修改方式代码:

<%

Set rs=Server.CreateObject("ADODB.Recordset")

rs.open "select * from 表名where id=10",conn,1,3 'where为查询开始,查询条件为id等于10的那条数据注意此处的where

rs("字段1")="123456" '无论字段1中是什么值,我们都把它改成123456这个值

rs("字段2")="123456" '同上

rs.update '开始向数据库写入

rs.close '关闭rs记录

set rs=nothing '清除rs记录集

%>

<%

conn.execute "update 表名set 字段1='123456',字段2='123456' where id=10" '多个内容修改用逗号隔开

%>

上面这段修改代码和上面的添加一样唯一不支持ACCESS第①种数据库连接方式

五、ASP删除数据:

删除数据也用到查询,如果没有查询,那就是将整个表中的所有内容全部删除了,如果你只需要删除其中一条,那就必须使用查询条件

<%

conn.execute "delete 表名where id=10" '查询到id值等于10的那条数据并且删除

%>

如果是ACCESS数据库就要加上from,例如:

<%

conn.execute "delete from 表名where id=10"

%>

如果你的数据库连接使用的是ACCESS第②种方式或者使用的是SQL数据,那么添加,修改,删除用起来就很简单了,像下面这样

添加:conn.execute "insert into 表名(字段1,字段2) values('123456','123456')"

修改:conn.execute "update 表名set 字段1='123456',字段2='123456' where id=10"

删除:conn.execute "delete 表名where id=10"

记住,在读取,添加,修改,删除,这四个功能之中只有添加不能带有查询条件,其他三个根据自己的需要可以带查询条件

查询条件中的读取,修改,和删除功能

一、查询条件可以多个条件

例如:conn.execute "delete from表名where 字段1='123456' and 字段2='123456' and id=10" 之间用and隔开,and前后一定要空格

意思是这三个条件必须同时满足才能查询出你想要的结果

二、查询条件可以使用or(或者的意思)

例如:conn.execute "delete 表名where 字段1='123456' or 字段2='123456' or id=10" 之间用or隔开,or前后一定要空格

意思是只要查询的条件满足其中之一就能查询出你想要的结果

三、查询条件还可以使用and和or同时使用

例如:conn.execute "delete 表名where (字段1='123456' or 字段2='123456') and id=10"

意思是只要查询条件满足字段1 或者字段2 中的一条,并且id等于10的条件,注意:括号要括起来

统计使用函数sum,recordcount

统计价格:sum

<%

Set rs=Server.CreateObject("ADODB.Recordset")

rs.open "select sum(价格字段) as price from 表名order by id desc",conn,1,1 'as就是将统计出来的结果赋值给临时变量price

response.write rs("price") '显示统计出来的总价格

rs.close

set rs=nothing

%>

统计总数量:recordcount

<%

Set rs=Server.CreateObject("ADODB.Recordset")

rs.open "select * from 表名order by id desc",conn,1,1

response.write rs.recordcount '显示统计出来的总的记录数目

rs.close

set rs=nothing

%>

下面我们来说说字段为空的判断:

字段为空有两种,

一种是默认值设置为字符的比如SQL数据库字段默认值可以填写N''

另一种默认值为空的,字段显示内容为null 的

平时我们查询判断字段为空的把两种空都写上

查询所有为空的字段:

<%

Set rs=Server.CreateObject("ADODB.Recordset")

rs.open "Select * from 表名where abc=’’or abc is null",conn,1,1

%>

查询所有不为空的字段:

<%

Set rs=Server.CreateObject("ADODB.Recordset")

rs.open "Select * from 表名where abc<>'' or is abc not null",conn,1,1 %>

那么在读取字段的时候判断是否为空的:

<%

if isnull(rs(字段名))=true or rs(字段名)="" then

'true表示为空

else

'false表示不为空

end if

if rs(字段名) is null or rs(字段名)="" then

'表示为空

else

'表示不为空

end if

if not rs(字段名) isnull or rs(字段名)<>"" then

'表示不为空

else

'表示为空

end if

%>

<1>基本框架

<%

语句

……

%>

<2>定义变量dim语句

<%

dim a,b

a=10

b=”ok!”

%>

注意:定义的变量可以是数值型,也可以是字符或者其他类型的

<3>简单的控制流程语句

1. If 条件1 then

语句1

elseif 条件2 then

语句2

else

语句3

endif

2.while 条件

语句

wend

3.for count=1 to n step m

语句1

exit for

语句2

next

二.ASP数据库简单操作教程

<1>.数据库连接(用来单独编制连接文件conn.asp)

<%

Set conn = Server.CreateObject("ADODB.Connection")

conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="& Server.MapPath("wx.mdb") %>

(用来连接wx.mdb数据库)

<2>显示数据库记录

原理:将数据库中的记录一一显示到客户端浏览器,依次读出数据库中的每一条记录

如果是从头到尾:用循环并判断指针是否到末使用: not rs.eof

如果是从尾到头:用循环并判断指针是否到开始使用:not rs.bof

(包含conn.asp用来打开wx.mdb数据库)

<%

set rs=server.CreateObject("adodb.recordset") (建立recordset对象)

sqlstr="select * from zc" ---->(zc为数据库中的一个数据表,即你要显示的数据所存放的数据表)

rs.open sqlstr,conn,1,3 ---->(表示打开数据库的方式)

rs.movefirst ---->(将指针移到第一条记录)

while not rs.eof ---->(判断指针是否到末尾)

response.write(rs("name")) ---->(显示数据表zc中的xm字段)

rs.movenext ---->(将指针移动到下一条记录)

wend ---->(循环结束)

rs.close

conn.close 这几句是用来关闭数据库

set rs=nothing

set conn=nothing

%>

其中response对象是服务器向客户端浏览器发送的信息.

<3>增加数据库记录

增加数据库记录用到rs.addnew,rs.update两个函数

(包含conn.asp用来打开wx.mdb数据库)

<%

set rs=server.CreateObject("adodb.recordset") (建立recordset对象)

sqlstr="select * from message" ---->(message为数据库中的一个数据表,即你要显示的数据所存放的数据表)

rs.open sqlstr,conn,1,3 ---->(表示打开数据库的方式)

rs.addnew 新增加一条记录

rs("name")="xx" 将xx的值传给name字段

rs.update 刷新数据库

rs.close

conn.close 这几句是用来关闭数据库

set rs=nothing

set conn=nothing

%>

<4>删除一条记录

删除数据库记录主要用到rs.delete,rs.update

(包含conn.asp用来打开bbs\db1\目录下的user.mdb数据库) <%

dim name

name="xx"

set rs=server.CreateObject("adodb.recordset") ‘(建立recordset对象)

sqlstr="select * from message" ‘(message为数据库中的一个数据表,即你要显示的数据所存放的数据表)

rs.open sqlstr,conn,1,3 ‘ (表示打开数据库的方式)

while not rs.eof

if rs ("name")=name then

rs.delete

rs.update ‘查询数据表中的name字段的值是否等于变量name的值"xx",如果符合就执行删除,

else ‘否则继续查询,直到指针到末尾为止

rs.movenext

emd if

wend

rs.close

conn.close ‘这几句是用来关闭数据库

set rs=nothing

set conn=nothing

%>

<5>关于数据库的查询

(a) 查询字段为字符型

<%

dim user,pass,qq,mail,message

user=request.Form("user")

pass=request.Form("pass")

qq=request.Form("qq")

mail=request.Form("mail")

message=request.Form("message")

if trim(user)&"x"="x" or trim(pass)&"x"="x" then (检测user值和pass值是否为空,可以检测到空格)

response.write("注册信息不能为空")

else

set rs=server.CreateObject("adodb.recordset")

sqlstr="select * from user where user=‘‘‘‘"&user&"‘‘‘‘" (查询user数据表中的user字段其中user字段为字符型)

rs.open sqlstr,conn,1,3

if rs.eof then

rs.addnew

rs("user")=user

rs("pass")=pass

rs("qq")=qq

rs("mail")=mail

rs("message")=message

rs.update

rs.close

conn.close

set rs=nothing

set conn=nothing

response.write("注册成功")

end if

rs.close

conn.close

set rs=nothing

set conn=nothing

response.write("注册重名")

%>

(b)查询字段为数字型

<%

dim num

num=request.Form("num")

set rs=server.CreateObject("adodb.recordset")

sqlstr="select * from message where id="&num (查询message数据表中id字段的值是否与num

相等,其中id为数字型)

rs.open sqlstr,conn,1,3

if not rs.eof then

rs.delete

rs.update

rs.close

conn.close

set rs=nothing

set conn=nothing

response.write("删除成功")

end if

rs.close

conn.close

set rs=nothing

set conn=nothing

response.write("删除失败")

%>

<6>几个简单的asp对象的讲解

response对象:服务器端向客户端发送的信息对象,包括直接发送信息给浏览器,重新定向URL,或设置cookie值

request对象:客户端向服务器提出的请求

session对象:作为一个全局变量,在整个站点都生效

server对象:提供对服务器上方法和属性的访问

(a) response对象的一般使用方法

比如:

<%

resposne.write("hello, welcome to asp!")

%>

在客户端浏览器就会看到hello, welcome to asp! 这一段文字

<%

response.Redirect("https://www.360docs.net/doc/064324088.html,")

%>

如果执行这一段,则浏览器就会自动连接到“搜狐”的网址

关于response对象的用法还有很多,大家可以研究研究

request对象的一般使用方法

比如客户端向服务器提出的请求就是通过request对象来传递的

列如:你在申请邮箱的所填写的个人信息就是通过该对象来将

你所填写的信息传递给服务器的

比如:这是一段表单的代码,这是提供给客户填写信息的,填写完了按

“提交”传递给request.asp文件处理后再存入服务器数据库

那么request.asp该如何将其中的信息读入,在写入数据库,在这里就要用到request对象了,下面我们就来分析request.asp的写法

<%

dim name,password (定义user和password两个变量)

name=request.form(“user”) (将表单中的user信息传给变量name)

password=request.form(“pass”) (将表单中的pass信息传给变量password)

%>

通过以上的几句代码就将表单中的数据读进来了,剩下要做的就是将

信息写入数据库了。

1.获得系统时间:

<%=now()%>

2.取得来访用的IP:

<%=request.serverVariables("remote_host")%>

3.获得系统,浏览器版本:

4.去除IE混动条:

5.进入网站,跳出广告:

程序代码6.随机数:

<%randomize%>

<%=(int(rnd()*n)+1)%>

N为可改变数

7.向上混动代码:

hhhhhhhhhhhhhhhhhhh

8.自动关闭网页:

本页10秒后自动关闭,请注意刷新页面

9.随机背景音乐:

<%randomize%>

可以修改数字,限制调用个数,我这里是60个.

10.自动刷新本页面:

无标题文档

<%

dim conn

set conn = server.createobject("adodb.connection")

conn.connectionstring="Provider = Microsoft.Jet.OLEDB.4.0;Data Source="&server.mapPath("wx.mdb")

conn.open

%>

<%

Set rs=Server.CreateObject("ADODB.Recordset")

rs.open "select * from zc ",conn,1,1

while not rs.eof

response.write rs("xm")

response.write("
")

response.write rs("bm")

rs.movenext

wend

rs.close

set rs=nothing

%>

用ASP连接数据库的几种方法

用ASP连接数据库的几种方法 用ASP连接DBF、DBC、MDB、Excel、SQL Server型数据库的方法: 一、ASP的对象存取数据库方法 在ASP中,用来存取数据库的对象统称ADO(Active Data Objects),主要含有三种对象:Connection、Recordset 、Command Connection:负责打开或连接数据 Recordset:负责存取数据表 Command:负责对数据库执行行动查询命令 二、连接各数据库的驱动程序 连接各数据库可以使用驱动程序,也可以使用数据源,不过我建议大家使用驱动程序,因为使用驱动程序非常方便、简单,而使用数据源比较麻烦。 驱动程序适用数据库类型 Microsoft.Jet.OLEDB.4.0 Mdb Microsoft Access Driver Access Microsoft dBase Driver Dbase Microsoft Excel Driver Excel Microsoft Visual FoxPro Driver Dbc SQLOLEDB.1 SQL srver7.0 而我们在一般情况下使用Access的数据库比较多,在这里我建议大家连接Access数据库使用下面的方法: dim conn set conn = server.createobject("adodb.connection") conn.open = "provider=microsoft.jet.oledb.4.0;" & "data source = " & server.mappath("../db/bbs.mdb") 其中../db/bbs.mdb是你的数据库存放的相对路径!如果你的数据库和ASP文件在同一目录下,你只要这样写就可以了:

ASP中数据库调用时常见错误的现象和解决

下面是虚机维护中,经常碰到的一些ASP程序中的数据库调用的错误,现收集整理如下:ADODB.Recordset 错误'800a0bb9' 变量或者类型不正确,或者不在可以接受的范围之内,要不就是与其他数据冲突。 产生错误可能原因: 1.这个错误多出现在类似语句处:“rs.Open sql,conn,1,1”,原因是数据库连接conn对象未打开。 ―――――――――――――――――――――――――――――――――――― 不能打开注册表关键字(8007000e) Microsoft OLE DB Provider for ODBC Drivers 错误'8007000e' [Microsoft] [ODBC Microsoft Access Driver]常见错误不能打开注册表关键字'Temporary (volatile) Jet DSN for process 0x11b4 Thread 0x1a4c DBC 0x9d34354 Jet'。 产生错误可能原因: 1.打开数据库时写法不对,标准的ACCESS数据库调用写法: "driver={Microsoft Access Driver (*.mdb)};dbq=" & server.mappath("db.MDB") 2. 正在上传数据库文件。―――――――――――――――――――――――――――――――――――― 参数不足,期待是1 (80040e10) Microsoft OLE DB Provider for ODBC Drivers 错误'80040e10' [Microsoft][ODBC Microsoft Access Driver] 参数不足,期待是1。 产生错误可能原因: 1.打开数据的SQL查询语句WHERE后面条件子句有问题,一般是缺少逻辑比较符号或者是字段名不正确。 ―――――――――――――――――――――――――――――――――――― 一般性网络错误。请检查网络文档(80004005)

ASP连接Access或SQLServer数据库的终极代码

ASP连接Access或SQLServer数据库的终极代码 作者:佚名来源:本站整理发布时间:2010-01-11 10:26:29 搞了这么久的ASP,希望本篇能帮助一些初学者。 <% On Error Resume Next Dim Data_base Data_base = 0 '1为MSSQLServer2000 其它为Access Set Conn=Server.CreateObject("Adodb.Connection")

IF Data_base=1 Then '------------------------------------------------------------------------------------- Dim dbconn,dbip,dbdns,dbname,dbuid,dbpwd dbconn = 1 '链接方式1为OLEDB链接2为驱动链接3为DNS链接dbip = "(local)" '数据库所在的IP地址,如果是本地数据库则为:"(local)" dbdns = "数据源DNS名称" '数据库DNS名 dbname = "MSOW" '数据库名称 dbuid = "sa" '数据库用户名 dbpwd = "********" '数据库密码 '------------------------------------------------------------------------------------- Select CASE dbconn

Case 1 Conn.Open "Provider=SQLOLEDB;User ;Password="&dbpwd&";Initial Catalog="&dbname&";Data Source="&dbip&";" Case 2 Conn.open "DRIVER={SQL Server};SERVER="&dbip&";UID="&dbuid&";PWD="&dbpwd&";DATABASE="&dbname&"" Case 3 Conn.open "DSN="&dbdns&";UID="&dbuid&";PWD="&dbpwd&";DATABASE="&dbname&"" End Select Else '-------------------------------------------------------------------------------------

asp数据库成excel文件代码

asp数据库数据生成excel文件: 生成EXCEL文件实例 在线生成EXCEL


<% if Request("act") = "" then Response.Write "生成EXCEL文件实例" else dim conn,strconn strconn="driver={SQL Server};server=wen;uid=sa;pwd=;database=DB_Test" set conn=server.CreateObject("adodb.connection") conn.Open strconn dim rs,sql,filename,fs,myfile,x Set fs = server.CreateObject("scripting.filesystemobject") '--假设你想让生成的EXCEL文件做如下的存放 filename = Server.MapPath("online.xls") '--如果原来的EXCEL文件存在的话就删除 if fs.FileExists(filename) then fs.DeleteFile(filename) end if '--创建EXCEL文件 set myfile = fs.CreateTextFile(filename,true) Set rs = Server.CreateObject("ADODB.Recordset") '--从数据库中把你想放到EXCEL中的数据读出来 sql = "select * from Tb_Execl order by id desc" rs.Open sql,conn,1,1 if rs.EOF and rs.BOF then else dim strLine,responsestr strLine="" For each x in rs.fields strLine = strLine & https://www.360docs.net/doc/064324088.html, & chr(9) Next '--将表的列名先写入EXCEL myfile.writeline strLine Do while Not rs.EOF strLine=""

用ASP连接读写ACCESS数据库实例

(一)数据库的选择: 有许多的数据库你可以选择,SQL SERVER、ACCESS(*.mdb)、EXCEL(*.xls)、FOXPRO(*.dbf)甚至普通的文本文件(*.txt)都可以达到存储数据的功能。那么到底选择什么数据库最合适呢?其中SQL SERVER是服务器级的,足以应付每天上万次的访问量。对于非服务器级的数据库建议使用ACCESS97。 因为: (1)只要安装了PWS或IIS4肯定有ACCESS的ODBC驱动,即你的系统肯定支持ACCESS数据库的存取。 (2)ACCESS支持的SQL指令非常齐全。 (3)ACCESS ODBC驱动程序的效率非常高。虽然它不是服务器级的数据库,但是作为中小型企业内部网的数据库支持还是绰绰有余的。 (4)ACCESS97在OFFICE97中就有,非常方便得到和使用。 本文就以ACCESS数据库为准介绍基于WEB的数据库存取方法。 (二)例子:我们建立一个“客户”数据库,需要保存如下的客户资料:客户名称、联络人姓名、所在城市、电话号码。 (1)首先建立ACCESS数据库customer.mdb(今后有用的)。 建立如下字段:客户名称、联络人姓名、所在城市、电话号码、客户编号、时间。将表保存为" 客户"(今后有用的,===>看看图)。注意:建立字段时多作了2个(客户编号、时间),因为在今后排序时要用到它们。建议今后做数据库时最好都加上这2项,不会没用的。此外,在保存表时ACCESS 会询问是否建立一个住关键字,我们不需要它所以不必建立。还有:时间字段的"默认值"设成"now()",即去系统当时的时间。同时将索引项设成"有(允许重复)",含义:WEB上极有可能同时存取数据,所以允许重复,索引设成"有"可以加快排序速度。===>看看图 (2)建立递交表单add.htm: 源代码如下: 添加数据库记录

添加数据库记录

公司名称:

利用ASP+VBScript技术开发Web数据库查询系统

利用ASP蚔BScript技术开发Web数据库查询系统 利用ASP和VBScript技术开发Web数据库查询系统 焦纯李洪义范晓宇陈马丁 摘要:Web数据库查询是网上最普遍的应用之一。而ASP模型是创建服务器端Web应用程序最重要的架构之一。ASP动态网页技术和VBScript脚本语言的结合又使得传统VB程序员在开发Web应用程序时具有较大的优势。本文结合一个Web上课程表查询的实例对ASP和VBScript两种技术的结合使用作了详细的说明,同时对各种开发Web应用程序的方法作了详细的比较。 关键词:ASP VBScript Web应用程序数据库查询ADO 一、ASP的工作机制和环境 ASP(即Active Server Pages)是一种服务器端的脚本开发环境。通过ASP能创建和运行动态、交互和高效的页面组成的Web服务程序。对于程序员,所谓ASP, 简单地说,就是在HTML文件中引入了两个扩展的成对的HTML标记〈%和%〉,同时文件的扩展名改为 .asp。 同HTML文件一样ASP文件也是文本文件,包括文本、HTML标记和ASP脚本语句(用〈%和%〉界定符标记)。它以.asp为扩展名,区别于一般的HTML文件。任何文本编辑器都可以制作ASP文件。 在传统的静态HTML的模式中,浏览器通过HTTP协议向Web服务器请求页面,服务器收到请求后发送一个页面给浏览器,由浏览器进行格式化并显示数据。这种模式只为用户与Web服务器之间提供了有限的交互,静态HTML的内容必须进行手动的编辑和修改。 HTML语言本身是静态的,要想使其具有交互的动态功能,通常可采用的技术包括:Java,JavaScript,VBScript/ActiveX,CGI,ISAPI/NSAPI等。Java,JavaScript,VBScript/ActiveX是客户端的技术,它们最大的缺点就是浏览器可能根本不支持这种技术,比如网景的Navigator就不支持功能非常强大的VBScipt/ActiveX,即使是已经成为业界标准的Java,一些老版本的浏览器也不支持。而采用公共网关接口CGI及ISAPI/NSAPI等接口,由于它们是服务器端的技术,它们的共同缺点是HTML的编写与程序的编写是分离的, 必须用不同的工具分别编写, 然后在HTML文件中调用CGI, ISAPI 或NSAPI程序, 调试比较麻烦。事实上,它们与HTML文件的编写是两个完全不同的设计过程。 作为一种新技术,ASP则不同。ASP是微软公司IIS3.0中的一个组件,它实际上是一个服务器端的脚本环境。当脚本运行在服务器上(注意不是客户机)时,Web服务器完成所有的工作,包括动态生成HTML页面并传送到用户的浏览器上。程序员不必担心浏览器是否能处理你的页面,因为Web服务器已经全部替浏览器完成页面的转化工作,对浏览器而言,见到的还是普通的HTML页面。由此可见,程序员可以通过ASP直接添加可执行的脚本到HTML文件中。这样HTML开发和脚本开发成为同一件事情,使动态交互页面的开发成为一个整体,开发与维护工作变得简单、快捷。程序员可以集中精力于Web站点外观的设计,用一些动态的元素修饰你的页面。

asp调用mssql存储过程之完全示例.

?asp调用mssql存储过程之完全示例 可能有不少朋友使用SQL SERVER做开发也已经有段日子,但还没有或者很少在项目中使用存储过程,或许有些朋友认为根本没有必要使用存储过程等等。其实当你一个项目做完到了维护阶段时,就会发现存储过程给我们带来了好处了,修改方便,不能去改我们的应用程序,只需要改存储过程的内容,而且还可以使我们的程序速度得到提高。 SQL SERVER 联机丛书中的定义: 存储过程是保存起来的可以接受和返回用户提供的参数的 Transact-SQL 语句的集合。 可以创建一个过程供永久使用,或在一个会话中临时使用(局部临时过程),或在所有会话中临时使用(全局临时过程)。 也可以创建在 Microsoft SQL Server 启动时自动运行的存储过程。 要使用存储过程,首先我们必需熟悉一些基本的T-SQL语句,因为存储过程是由于一组T-SQL语句构成的,并且,我们需要了解一些关于函数、过程的概念,因为我们需要在应用程序中调用存储过程,就像我们调用应用程序的函数一样,不过调用的方法有些不同。 下面我们来看一下存储过程的建立和使用方法。 一、创建存储过程 和数据表一样,在使用之前我们需要创建存储过程,它的简明语法是:

例: 以下是引用片段: CREATE PROC upGetUserName @intUserId INT, @ostrUserName NVARCHAR(20 OUTPUT -- 要输出的参数AS BEGIN -- 将uName的值赋给@ostrUserName 变量,即要输出的参数 SELECT @ostrUserName=uName FROM uUser WHERE uId=@intUserId END 其中 CREATE PROC 语句(完整语句为CREATE PROCEDURE)的意思就是告诉SQL SERVER,现在需要建立一个存储过程,upGetUserName 就是存储过程名称,@intUserId 和 @ostrUserName 分别是该存储过程的两个参数,注意,在SQL SERVER中,所有用户定义的变量都以“@”开头,OUTPUT关键字表示这个参数是用来输出的,AS之后就是存储过程内容了。只要将以上代码在“查询分析器”里执行一次,SQL SERVER就会在当前数据库中创建一个名为“upGetUserName”的存储过程。你可以打开“企业管理器”,选择当前操作的数据库,然后在左边的树型列表中选择“存储过程”,此时就可以在右边的列表中看到你刚刚创建的存储过程了(如果没有,刷新一下即可)。 二、存储过程的调用

用ASP连接各种数据库的方法(经典)

用ASP连接DBF、DBC、MDB、Excel、SQL Server型数据库的方法2008-08-30 15:02一般来说,一个真正的、完整的站点是离不开数据库的,因为实际应用中,需要保存的数据很多,而且这些数据之间往往还有关联,利用数据库来管理这些数据,可以很方便的查询和更新。数据库有很多种,如:Fox 数据库(.dbf)、Access 数据库(.mdb)、Informix、Oracle 和SQL Server 等等,在这里,我将以Microsoft Access 数据库为例来说明ASP是如何访问数据库的。 常用数据库语句 1.SELECT 语句:命令数据库引擎从数据库里返回信息,作为一组记录。 2.INSERT INTO 语句:添加一个或多个记录至一个表。 3.UPDA TE 语句:创建更新查询来改变基于特定准则的指定表中的字段值。 4.DELETE 语句:创建一个删除查询把记录从FROM 子句列出并符合WHERE 子句的一个或更多的表中清除。 5.EXECUTE 语句:用于激活PROCEDURE(过程) 用ASP 来做一个自己的通讯录练练手吧…… 一、建立数据库: 用Microsoft Access 建立一个名为data.mdb 的空数据库,使用设计器创建一个新表。输入以下几个字段: 字段名称数据类型说明其它 ID自动编号数据标识字段大小:长整型新值:递增索引:有(无重复)username文本姓名缺省值 usermail文本E-mail缺省值 view数字查看次数字段大小:长整型默认值:0索引:无

indate时间日期加入时间缺省值 保存为data.mdb 文件,为了便于说明,只是做了一个比较简单的库。 二、连接数据库 方法1: Set conn = Server.CreateObject("ADODB.Connection") conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("data.mdb") 方法2: Set conn = Server.CreateObject("ADODB.Connection") conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("data.mdb") 注意:一个页面中,只要连接一次就可以了,数据库使用完后要及时关闭连接。conn.Close Set conn = Nothing 三、添加新记录到数据库 Set conn = Server.CreateObject("ADODB.Connection") conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("data.mdb") username = "风云突变" usermail = "fytb@https://www.360docs.net/doc/064324088.html," indate = Now() sql = "insert into data (username,usermail,indata) values('"&username&"','"&usermail&"','"&indate&"')"

asp连接SQL数据库

Asp连接sql数据库方案 ******************************* 按要求建好数据库后,需要建立网站页面与后台服务器的连接,页面名称为conn.asp.以后当需要对程序中数据库进行操作时,只需要用 就可以直接调用该程序 ,打开数据库,提高程序的可读性. 代码如下: <%set conn=Server.CreateObject("ADODB.Connection") '创建一个数据库连接对象conn,方便以后调用 connstr="Provider=SQLOLEDB;Data Source=(local);Initial Catalog=test;User ID=sa;Password=***" ' 创建一个数据库的recordset对象 conn.Open connstr '打开数据库 '方便以后调用 %> *****************************方法1 <% dim conn set conn=server.createobject("ADODB.connection") con.open "PROVIDER=SQLOLEDB;DATA SOURCE=SQL服务器名称或IP地址;UID=sa;PWD=数据库密码 ;DATABASE=数据库名称 %> 建立记录集对象: set rs=server.createobject("adodb.recordset") rs.open SQL语句,conn,3,2 *******************************************************************************

asp调用数据库代码

asp调用数据库代码 1.ASP与Access数据库连接: 2.ASP与SQL数据库连接: 建立记录集对象: setrs=server.createobject("adodb.recordset") rs.openSQL语句,conn,3,2 3.SQL常用命令使用方法: (1)数据记录筛选: sql="select*from数据表where字段名=字段值orderby字段名[desc]" sql="select*from数据表where字段名like'%字段值%'orderby 字段名[desc]" sql="selecttop10*from数据表where字段名orderby字段名[desc]" sql="select*from数据表where字段名in('值1','值2','值3')" sql="select*from数据表where字段名between值1and值2" (2)更新数据记录: sql="update数据表set字段名=字段值where条件表达式" sql="update数据表set字段1=值1,字段2=值2……字段n=

值nwhere条件表达式" (3)删除数据记录: sql="deletefrom数据表where条件表达式" sql="deletefrom数据表"(将数据表所有记录删除) (4)添加数据记录: sql="insertinto数据表(字段1,字段2,字段3…)values(值1,值2,值3…)" sql="insertinto目标数据表select*from源数据表"(把源数据表的记录添加到目标数据表) (5)数据记录统计函数: A VG(字段名)得出一个表格栏平均值 COUNT(*¦字段名)对数据行数的统计或对某一栏有值的数据行数统计 MAX(字段名)取得一个表格栏最大的值 MIN(字段名)取得一个表格栏最小的值 SUM(字段名)把数据栏的值相加 引用以上函数的方法: sql="selectsum(字段名)as别名from数据表where条件表达式" setrs=conn.excute(sql) 用rs("别名")获取统的计值,其它函数运用同上。(5)数据表的建立和删除: CREATETABLE数据表名称(字段1类型1(长度),字段2类型2(长度)……)

ASP连接access数据库的两种方法、如何读取数据库内容

我的ASP经验之路(4)--连接access数据库的两种方法、读取数据库内容 这篇主要介绍以下两个问题:asp连接access数据库常用的两种方法、asp创建记录集与如何读取数据库的内容。 ASP最常连接的是ACCESS与MSSQL两种数据库,本文先介绍简单的连接ACCESS数据库的两种常用方法。 假设数据库名称为data.mdb,位于根目录下,与conn.asp文件同一目录。 连接数据库文件conn.asp写法如下: 第一种: <% dim conn dim connstr connstr="DBQ="+server.mappath("data.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};" set conn=server.createobject("ADODB.CONNECTION") '创建数据库连接对象 conn.open connstr '连接数据库 %> 第二种: <% dim conn dim connstr Connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("data.mdb") Set conn = Server.CreateObject("ADODB.Connection") Conn.Open Connstr %> 接下来,我们看下asp是如何创建记录集以及如何来读取数据库里的内容的。 首先,我们要建一个数据库,里面放些需要读取的内容。 1、建立一个数据库文件,名称估且命为data.mdb ,里面准备存放一些公司企业的电话地址等内容。数 据库中建一个名为company的表,表设计以下四个字段:companyname,tel,address,website (公司名称,电话,地址,网址),字段类型全部选择“文本”,字段大小设置为250,创建好表后,打开表,自己输入随意输入几条记录值 (所有建立数据库的具体操作本文略过) 建好后,表设计如下图:

ASP中使用SQL语句教程

1. SELECT 语句 在SQL的世界里,最最基础的操作就是SELECT 语句了。在数据库工具下直接采用SQL的时候很多人都会熟悉下面的操作: SELECT what FROM whichTable WHERE criteria 执行以上语句就会创建一个存放其结果的查询。 而在ASP页面文件上,你也可以采用以上的一般语法,不过情况稍微不同,ASP编程的时候,SELECT 语句的内容要作为字符串赋给一个变量: SQL = "SELECT what FROM whichTable WHERE criteria" 明白了ASP下SQL"说话"的方式,接下来如法炮制即可,只要满足你的需要,传统的SQL查询模式和条件查询都能派用场。 举例说明,不妨假设你的数据库内有个数据表,名字是Products ,现在你想取出这个表里的全部记录。然后你就编写了下面的代码: SQL ="SELECT * FROM Products" 以上代码--SQL语句的作用就是取出表内的全部数据--执行后将会选出数据表内的全部记录。不过,要是只想从表内取出某个特定列,比如p_name。那就不能用 * 通配符了,这里得键入具体某列的名字,代码如下: SQL ="SELECT p_name FROM Products" 执行以上查询之后Products 表内、p_name 列的内容就会全被选取出来。 2. 用WHERE子句设置查询条件 有的时候取出全部数据库记录也许正好满足你的要求,不过,在大多数情况下我们通常只需得到部分记录。这样一来该如何设计查询呢?当然会更费点脑筋了,何况本文也存心不想让你去用那个什么劳什子的recordset。 举个例子,假如你只打算取出p_name 记录,而且这些记录的名字必须以字母w打头,那么你就要用到下面的WHERE 子句了: SQL ="SELECT p_name FROM Products WHERE p_name LIKE 'W%'" WHERE 关键词的后面跟着用来过滤数据的条件,有了这些条件的帮助,只有满足一定标准的数据才会被查询出来。在以上的例子里,查询的结果只会得到名字以w 打头的p_name 记录。 以上例子中,百分比符号(%)的含义是指示查询返回所有w 字母打头而且后面是任何数据甚至没有数据的记录条目。所以,在执行以上查询的时候, west 和 willow 就会从Products 表内被选取出来并存放在查询里。 就像你看到的那样,只要仔细地设计SELECT 语句,你就可以限制recordset 中返回的信息

ASP读取数据库问题

ASP读取数据库问题 rs = Server.CreateObject("ADODB.RecordSet") rs.Open(sqlStr,conn,1,A) 注:A=1表示读取数据;A=3表示新增、修改或删除数据。 在RecordSet组件中,常用的属性和方法有: rs.Fields.Count:RecordSet对象字段数。 rs(i).Name:第i个字段的名称,i为0至rs.Fields.Count-1 rs(i):第i个字段的数据,i为0至rs.Fields.Count-1 rs("字段名"):指定字段的数据。 rs.RecordCount:数据记录总数。 rs.EOF:是否最后一条记录。 rs.MoveFirst:指向第一条记录。 rs.MoveLast:指向最后一条记录。 rs.MovePrev:指向上一条记录。 rs.MoveNext:指向下一条记录。 rs.GetRows:将数据放入数组中。 rs.Properties.Count:ADO的ResultSet或Connection的属性个数。rs.Properties(item).Name:ADO的ResultSet或Connection的名称。rs.Properties:ADO的ResultSet或Connection的值。 rs.close():关闭连接。 属性和方法分开列出

属性: AbsolutePage属性:当RecordSet对象设有分页时,返回当前页码。 AbsolutePosition属性:当前指针的绝对位置。 ActiveConnection属性:指明进行SQL语句的数据库连接。 EOF属性:若指针位于第一条记录之前,返回TRUE、否则返回FALSE。 Bookmark属性:将指针设置在某条记录。 CursorLocation属性:设置或返回光标提供者的位置,若设为2(adUseServer)表示使用服务器端光标(默认);若设为3(adUseClient)表示使用浏览器端光标。 CursorType属性:指出RecordSet对象中使用的光标类型 EditMode属性:返回RecordSet对象当前的编辑模式 BOF属性:若指针位于最后一条记录之后,返回TRUE、否则返回FALSE。 Filter属性:从RecordSet对象中筛选记录。 LockType属性:指定编辑过程中对记录的锁定类型。 MaxRecords属性:可以返回的最多记录条数。 PageCount属性:返回RecordSet对象的分页总数。 PageSize属性:RecordSet对象设有分页时,设置分页的记录条数。 RecordCount属性:返回RecordSet对象中记录条数。 source属性:设置用来建立RecordSet对象的SQL来源。 State属性:返回RecordSet对象的状态:1(adStateOpen)表示打开;2(adStateClosed)表示关闭。 Status属性:返回对记录的处理是否成功:1(adStatusOK)表示成功; 2(adStatueErrorsOccurred)表示产生错误。 方法: AddNew方法:为可更新的RecordSet对象创建一个新记录。 CancelBatch方法:取消批次更新。 CancelUpdate方法:取消对当前的RecordSet对象中某一个记录的任何改变,但必须在使用Update之前。 Clone方法:复制一个已存在的RecordSet对象。 Delete方法:删除RecordSet对象中当前一条记录。 MoveFirst方法:将当前指针移到RecordSet对象中的第一条记录。 MoveLast方法:将当前指针移到RecordSet对象中的最后一条记录。 MoveNext方法:将当前指针移到RecordSet对象中的当前记录的下一条记录。MovePrevious方法:将当前指针移到RecordSet对象中的当前记录的上一条记录。 Move n方法:将当前指针移到RecordSet对象中的当前指针到第n条记录。 Open方法:打开一个RecordSet对象。 Update方法:保存对当前RecordSet对象中记录的更新。 GetRows方法:从当前记录开始取出n条记录并存于一个二维数组中。 循环得到一条记录的所有值

asp中各种数据库连接代码

asp中各种数据库连接代码 access数据库连接 用dsn连接并且没有用户名和密码: <% set conn=server.createobject("adodb.connection") conn.open"yourdsnname" %> 用dsn连接并且有用户名和密码: <% set conn=server.createobject("adodb.connection") conn.open"yourdsnname","username","password" %> 用实际的数据库绝对路径连接: <% set conn=server.createobject("adodb.connection") strconn="driver=;" strconn=strconn&"dbq=e:\yanhang\database.mdb" conn.open strconn %> 用实际的数据库相对路径连接: <% set conn=server.createobject("adodb.connection") strconn="driver=;" strconn=strconn&"dbq="&server.mappath("/database/yanhang.mdb") conn.open strconn %> 一 "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.MapPath("/bhpbook.mdb") 1、要使用测试服务器上的驱动程序,DW里才能显示正确连接 2、必须在数据库路径前加”/” 二 "Driver={Microsoft Access Driver (*.mdb)};DBQ=路径\bhpbook.mdb" 1、路径可以是绝对或相对路径 2、要使用(本)应用服务器上的驱动程序 三 "Driver={Microsoft Access Driver (*.mdb)};DBQ="& Server.MapPath("/bhpbook.mdb") 1、要使用测试服务器上的驱动程序,DW里才能显示正确连接 2、必须在数据库路径前加”/” ms sql server数据库连接 用dsn连接: <% set conn=server.createobject("adodb.connection") conn.open"dsn=mydsn;uid=user;pwd=password;database=databasename" %> 不用dsn连接: <% set conn=server.createobject("adodb.connection") dsntemp="driver=;server=servername;uid=user;pwd=password;database=databasename" conn.open dsntemp

ASP网站源代码修改方法

ASP网站源代码修改方法 ASP网站源代码修改方法 摘要:一、怎么样去除默认的管理员(joekoe)先用joekoe这个管理员进入后台,找到一个配置管理asp源代码,点基本信息配置,可以修改超级管理员,就是现在的joekoe点用户管理里的某一用户asp.n... 一、怎么样去除默认的管理员(joekoe) 先用joekoe这个管理员进入后台,找到一个配置管理asp源代码, 点基本信息配置,可以修改超级管理员,就是现在的joekoe 点用户管理里的某一用户https://www.360docs.net/doc/064324088.html,,可以进行类型修改,可改成管理员。 当你添加了别的管理员后,就可以点权限管理,再点某一管理员,就可以设置他的权限了,只要选中就行了。点击确定。 二、如何添加新的菜单和新的页面 添加新的菜单的格式如下:abc:新的菜单 那么新建个.asp文件:abc.asp 文件内容可以有两种形式: 第一种是直接转到你的别的程序或网址上asp是什么,如下: <%response.redirect "你以的文件名或网址"%> 第二种是按现在的网站结构生成类似的页面asp源码,如下: <!-- #include&nbspfile="include/config_other.asp"&nbsp--> <!-- #include&nbspfile="include/conn.asp"&nbsp--> <% tit="新的菜单" call&nbspweb_head(0,1asp代码,0asp空间,https://www.360docs.net/doc/064324088.html,教程,0) '------------------------------------left---------------------------------- call&nbspformat_login() '----------------------------------left&nbspend-------------------------------- call&nbspweb_center(0) '-----------------------------------center--------------------------------- response.write&nbspukong %> '以下是页面的内容 '可以添加一个系统表格(可随颜色等一起改变) <%&nbspresponse.write&nbspkong&table1 %> <tr<%response.write&nbsptable2%>><td> <%response.write&nbspimg_small("fk0") %> <font class=end><b>表格标题</b></font></td></tr>

ASP中使用SQL语句(总集)

ASP中使用SQL语句(总集) [ 2003年4月12日,阅读人数160人] 五花八门的SQL产品多得要命,或许你早顾不得其它甩开袖子就动手干了。但你要同时采用ASP和SQL的话就可能会头晕。MySQL、SQL Server和mSQL都是绝佳的SQL工具,可惜,在ASP的环境下你却用不着它们来创建实用的SQL 语句。不过,你可以利用自己掌握的Access知识以及相应的Access技能,再加上我们的提示和技巧,相信一定能成功地在你的ASP网页中加入SQL。 在SQL的世界里,最最基础的操作就是SELECT 语句了。在数据库工具下直接采用SQL的时候很多人都会熟悉下面的操作: SELECT what FROM whichTable WHERE criteria 执行以上语句就会创建一个存放其结果的查询。 而在ASP页面文件上,你也可以采用以上的一般语法,不过情况稍微不同,ASP编程的时候,SELECT 语句的内容要作为字符串赋给一个变量: SQL = "SELECT what FROM whichTable WHERE criteria" 好了,明白了ASP下SQL“说话”的方式,接下来如法炮制即可,只要满足你的需要,传统的SQL查询模式和条件查询都能派用场。 举例说明,不妨假设你的数据库内有个数据表,名字是Products ,现在你想取出这个表里的全部记录。然后你就编写了下面的代码: SQL ="SELECT * FROM Products" 以上代码——SQL语句的作用就是取出表内的全部数据——执行后将会选出数据表内的全部记录。不过,要是只想从表

内取出某个特定列,比如p_name。那就不能用 * 通配符了,这里得键入具体某列的名字,代码如下: SQL ="SELECT p_name FROM Products" 执行以上查询之后Products 表内、p_name 列的内容就会全被选取出来。 有的时候取出全部数据库记录也许正好满足你的要求,不过,在大多数情况下我们通常只需得到部分记录。这样一来该如何设计查询呢?当然会更费点脑筋了,何况本文也存心不想让你去用那个什么劳什子的recordset。 举个例子,假如你只打算取出p_name 记录,而且这些记录的名字必须以字母w打头,那么你就要用到下面的WHERE 子句了: SQL ="SELECT p_name FROM Products WHERE p_name LIKE 'W%'" WHERE 关键词的后面跟着用来过滤数据的条件,有了这些条件的帮助,只有满足一定标准的数据才会被查询出来。在以上的例子里,查询的结果只会得到名字以w 打头的p_name 记录。 以上例子中,百分比符号(%)的含义是指示查询返回所有w 字母打头而且后面是任何数据甚至没有数据的记录条目。所以,在执行以上查询的时候, west 和 willow 就会从Products 表内被选取出来并存放在查询里。 就像你看到的那样,只要仔细地设计SELECT 语句,你就可以限制recordset 中返回的信息量,多琢磨琢磨总能满足你的要求。 这些啊还不过是掌握SQL用途刚起步。为了帮助你逐步掌握复杂的SELECT 语句用法,下面就让我们再来看一下关键的标准术语:比较运算符,这些玩意都是你在构筑自己的SELECT 字符串来获得特定数据时要经常用到的。 WHERE子句基础 在开始创建WHERE 子句的时候,最简单的方式是采用标准的比较符号,它们是 < 、 <= 、 > 、 >= 、<> 和 =。显然,你很快就能明白以下代码的含义和具体运行结果: SELECT * FROM Products WHERE p_price >= 199.95 SELECT * FROM Products WHERE p_price <> 19.95 SELECT * FROM Products WHERE p_version = '4' 注意:这里你会注意到,最后一个例句中的数字4周围加了单引号。原因是这样的,在这个例子中的 '4' 是文本类型

相关文档
最新文档