ASP数据库操作总结(给力之家)
ASP数据库操作大全及常用
ASP数据库操作大全大 | 中 | 小[2006/03/19 12:52 | 分类: Asp 相关 | by NetFetch ]ASP数据库操作类:包括Asp建立数据库文件,Asp压缩数据库文件,Asp查找数据库文件以及一些有用的asp编程的例子<%'#######以下是一个类文件,下面的注解是调用类的方法################################################'# 注意:如果系统不支持建立Scripting.FileSystemObject对象,那么数据库压缩功能将无法使用'# Access 数据库类'# CreateDbFile 建立一个Access 数据库文件'# CompactDatabase 压缩一个Access 数据库文件'# 建立对象方法:'# Set a = New DatabaseTools'############################################################################### ##########Class DatabaseToolsPublic function CreateDBfile(byVal dbFileName,byVal DbVer,byVal SavePath)'建立数据库文件'If DbVer is 0 Then Create Access97 dbFile'If DbVer is 1 Then Create Access2000 dbFileOn error resume NextIf Right(SavePath,1)<>"" or Right(SavePath,1)<>"/" Then SavePath = Trim(SavePath) & ""If Left(dbFileName,1)="" or Left(dbFileName,1)="/" Then dbFileName = Trim(Mid(dbFileName,2,Len(dbFileName)))If DbExists(SavePath & dbFileName) ThenResponse.Write ("对不起,该数据库已经存在!")CreateDBfile = FalseElseDim CaSet Ca = Server.CreateObject("ADOX.Catalog")If Err.number<>0 ThenResponse.Write ("无法建立,请检查错误信息" & Err.number & "" & Err.Description)Err.ClearExit functionEnd IfIf DbVer=0 Thencall Ca.Create("Provider=Microsoft.Jet.OLEDB.3.51;Data Source=" & SavePath & dbFileName)Elsecall Ca.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & SavePath & dbFileName)End IfSet Ca = NothingCreateDBfile = TrueEnd IfEnd functionPublic function CompactDatabase(byVal dbFileName,byVal DbVer,byVal SavePath)'压缩数据库文件'0 为access 97'1 为access 2000On Error resume nextIf Right(SavePath,1)<>"" or Right(SavePath,1)<>"/" Then SavePath = Trim(SavePath) & ""If Left(dbFileName,1)="" or Left(dbFileName,1)="/" Then dbFileName = Trim(Mid(dbFileName,2,Len(dbFileName)))If DbExists(SavePath & dbFileName) ThenResponse.Write ("对不起,该数据库已经存在!")CompactDatabase = FalseElseDim CdSet Cd =Server.CreateObject("JRO.JetEngine")If Err.number<>0 ThenResponse.Write ("无法压缩,请检查错误信息" & Err.number & "" & Err.Description)Err.ClearExit functionEnd IfIf DbVer=0 Thencall pactDatabase("Provider=Microsoft.Jet.OLEDB.3.51;Data Source=" & SavePath & dbFileName,"Provider=Microsoft.Jet.OLEDB.3.51;DataSource=" & SavePath & dbFileName & ".bak.mdb;Jet OLEDB;Encrypt Database=True") Elsecall pactDatabase("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & SavePath & dbFileName,"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & SavePath & dbFileName & ".bak.mdb;Jet OLEDB;Encrypt Database=True")End If'删除旧的数据库文件call DeleteFile(SavePath & dbFileName)'将压缩后的数据库文件还原call RenameFile(SavePath & dbFileName & ".bak.mdb",SavePath & dbFileName)Set Cd = FalseCompactDatabase = TrueEnd Ifend functionPublic function DbExists(byVal dbPath)'查找数据库文件是否存在On Error resume NextDim cSet c = Server.CreateObject("ADODB.Connection")c.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbPathIf Err.number<>0 ThenErr.ClearDbExists = falseelseDbExists = TrueEnd Ifset c = nothingEnd functionPublic function AppPath()'取当前真实路径AppPath = Server.MapPath("./")End functionPublic function AppName()'取当前程序名称AppName = Mid(Request.ServerVariables("SCRIPT_NAME"),(InStrRev(Request.ServerVariables("SC RIPT_NAME") ,"/",-1,1))+1,Len(Request.ServerVariables("SCRIPT_NAME")))End FunctionPublic function DeleteFile(filespec)'删除一个文件Dim fsoSet fso = CreateObject("Scripting.FileSystemObject")If Err.number<>0 ThenResponse.Write("删除文件发生错误!请查看错误信息" & Err.number & "" & Err.Description)Err.ClearDeleteFile = FalseEnd Ifcall fso.DeleteFile(filespec)Set fso = NothingDeleteFile = TrueEnd functionPublic function RenameFile(filespec1,filespec2)'修改一个文件Dim fsoSet fso = CreateObject("Scripting.FileSystemObject")If Err.number<>0 ThenResponse.Write("修改文件名时发生错误!请查看错误信息" & Err.number & "" & Err.Description)Err.ClearRenameFile = FalseEnd Ifcall fso.CopyFile(filespec1,filespec2,True)call fso.DeleteFile(filespec1)Set fso = NothingRenameFile = TrueEnd functionEnd Class%>现在已可以压缩有密码的数据库,代码如下,但是压缩之后的数据库密码就没有了!如何解决?<%Const JET_3X = 4Function CompactDB(dbPath, boolIs97)Dim fso, Engine, strDBPathstrDBPath = left(dbPath,instrrev(DBPath,""))Set fso = CreateObject("Scripting.FileSystemObject")If fso.FileExists(dbPath) ThenSet Engine = CreateObject("JRO.JetEngine")If boolIs97 = "True" ThenpactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbpath, _ "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password='XXXXXXXX';Data Source=" & strDBPath & "temp.mdb;" _& "Jet OLEDB:Engine Type=" & JET_3XElsepactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password='XXXXXXXX';Data Source=" & dbpath, _"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & "temp.mdb"End Iffso.CopyFile strDBPath & "temp.mdb",dbpathfso.DeleteFile(strDBPath & "temp.mdb")Set fso = nothingSet Engine = nothingCompactDB = "你的数据库, " & dbpath & ", 已经压缩成功!" & vbCrLfElseCompactDB = "数据库名称或路径不正确. 请重试!" & vbCrLfEnd IfEnd Function%>asp编程有用的例子(一)1.如何用Asp判断你的网站的虚拟物理路径答:使用Mappath方法< p align="center" >< font size="4" face="Arial" >< b >The Physical path to this virtual website is:< /b >< /font >< font color="#FF0000" size="6" face="Arial" >< %= Server.MapPath("")% >< /font >< /p >2.我如何知道使用者所用的浏览器?答:使用the Request object方法strBrowser=Request.ServerVariables("HTTP_USER_AGENT")If Instr(strBrowser,"MSIE") < > 0 ThenResponse.redirect("ForMSIEOnly.htm")ElseResponse.redirect("ForAll.htm")End If3.如何计算每天的平均反复访问人数答:解决方法< % startdate=DateDiff("d",Now,"01/01/1990")if strdate< 0 then startdate=startdate*-1avgvpd=Int((usercnt)/startdate) % >显示结果< % response.write(avgvpd) % >that is it.this page have been viewed since November 10,19984.如何显示随机图象< % dim p,ppic,dpicppic=12randomizep=Int((ppic*rnd)+1)dpic="graphix/randompics/"&p&".gif"% >显示< img src="< %=dpic% >" >5.如何回到先前的页面答:< a href="< %=request.serverVariables("Http_REFERER")% >" >preivous page< /a > 或用图片如:< img src="arrowback.gif" alt="< %=request.serverVariables("HTTP_REFERER")% >" >6.如何确定对方的IP地址答:< %=Request.serverVariables("REMOTE_ADDR)% >7.如何链结到一副图片上答:< % @Languages=vbs cript % >< % response.expires=0strimagename="graphix/errors/erroriamge.gif"response.redirect(strimagename)% >8.强迫输入密码对话框答:把这句话放载页面的开头< % response.status="401 not Authorized"response.end% >9.如何传递变量从一页到另一页答:用 HIDDEN 类型来传递变量< % form method="post" action="mynextpage.asp" >< % for each item in request.form % >< input namee="< %=item% >" type="HIDDEN"value="< %=server.HTMLEncode(Request.form(item)) % >" >< % next % >< /form >10.为何我在 asp 程序内使用 msgbox,程序出错说没有权限答:由于 asp 是服务器运行的,如果可以在服务器显示一个对话框,那么你只好等有人按了确定之后,你的程序才能继续执行,而一般服务器不会有人守着,所以微软不得不禁止这个函数,并胡乱告诉你 (:) 呵呵) 没有权限。
ASP实训心得(模板17篇)
ASP实训心得(模板17篇)(经典版)编制人:__________________审核人:__________________审批人:__________________编制单位:__________________编制时间:____年____月____日序言下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。
文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!并且,本店铺为大家提供各种类型的经典范文,如职场文书、公文写作、党团资料、总结报告、演讲致辞、合同协议、条据书信、心得体会、教学资料、其他范文等等,想了解不同范文格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you!Moreover, this store provides various types of classic sample essays for everyone, such as workplace documents, official document writing, party and youth information, summary reports, speeches, contract agreements, documentary letters, experiences, teaching materials, other sample essays, etc. If you want to learn about different sample formats and writing methods, please pay attention!ASP实训心得(模板17篇)心得体会的写作还可以培养我们的思辨精神,提高自己的分析和推理能力。
第6章 ASP对数据库的操作
6.4.4 通过connection对象连接到数据 源
ADO提供的Connection对象,用于建立和 管理应用程序与OLE DB兼容数据源或 ODBC兼容数据库之间的连接。 Connection对象的属性和方法可以用来打 开和关闭数据库连接,并发布对更新信息的 查询。 要建立数据库连接,首先必须创建 Connection对象实例。
归纳分析
(1)读取数据表中的记录,首先要建立与数据库 的连接,并打开相应的数据表; (2)显示数据表的内容分两步走,第一步输出表 头信息,第二步输出数据内容。表头信息要占一行, 因此要用HTML构造一个表格的行来存放表头信息。 对于数据内容,每条记录占一行。代码有底纹的部 分,外层Whil循环用来读取数据表中的每条记录, 内层For循环把每条记录中的每个字段值读取出来, 并构造成表格的一行。我们以后会经常用HTML表 格来展示数据表,因此这部分内容是要大家学会使 用的。
第6章 ASP对数据库的操作 章 对数据库的操作
学习目标
创建数据库文件 Recordset对象的使用 Connection对象的使用 SQL语句的使用 COMMAND对象的使用
6.1 创建数据库文件
Microsoft Access是一种关系数据库,关系 数据库中会有很多地数据表,每个表又由一 系列的行和列构成,每一行是一个记录,每 一列是一个字段,每个字段都有一个字段名, 字段名在一个表中不能重复。
6.5 Recordset对象 对象
6.5.1 Recordset对象的常用属性和方法 6.5.2 创建Recordset对象
6.5.1 Recordset对象的常用属性和方法
Recordset对象对应着Command对象的查询返回结果,或 者是直接建立的一个带查询的结果集。它把从数据库内查询 到的结果封装在一起,并提供简单快捷的方式去访问每一条 记录内每一字段的数据。 Recordset对象实际上是依附于Connection对象和 Command对象之上的。通过建立及开启一个Connection 对象,可以与我们关心的数据库建立连接;通过使用 Command对象,则可以告诉数据库我们想要做什么:是插 入一条记录,还是查找符合条件的记录;通过使用 Recordset对象,则可以方便自如地操作Command对象返 回的结果。这三个对象中的每—个都是必要的,缺一不可。
ASP与数据库操作
ASP与数据库操作
1. ASP与Access数据库连接:
dim strConn
dim conn
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" Server.mappath("data/db1.mdb") ";Persist Security Info=False"
删除数据记录:
sql="delete from 数据表 where 条件表达式"
sql="delete from 数据表" (将数据表所有记录删除)
添加数据记录:
sql="insert into 数据表 (字段1,字段2,字段3 …) valuess (值1,值2,值3 …)"
在打开 Recordset 之前设置 CursorType 属性来选择游标类型,或使用 Open 方法传递 CursorType 参数。部分提供者不支持所有游标类型。请检查提供者的文档。如果没有指定游标类型,ADO 将默认打开仅向前游标。
在 ADO 中定义了四种不同的游标类型:
ladLockReadOnly - 默认值,只读。无法更改数据。
在 ADO 中定义了四种不同的游标类型:
l动态游标(adOpenForwardOnly) - 用于查看其他用户所作的添加、更改和删除,并用于不依赖书签的 Recordset 中各种类型的移动。如果提供者支持,可使用书签。
asp学习总结
1.asp数据库连接<%''On Error Resume Next'---------------------数据库类型及路径定义---------------------dim conn,connstr,strSQLServerName,strSQLDBUserName,strSQLDBPassword,strSQLDBName '------------以下需要修改----------------------------------------------'strSQLServerName = "(local)" '服务器名称或地址strSQLDBUserName = "sa" '数据库帐号strSQLDBPassword = "bz100" '数据库密码,这个是我的,改成你自己的strSQLDBName = "bookstore" '数据库名称'------------用户修改结束---------------------------------------------response.buffer=true '启用缓冲处理Set conn = Server.CreateObject("ADODB.Connection")conn.ConnectionTimeout = 10 '设置connection对象连接数据库的逾期时间mandTimeout = 20 '设置执行execute方法时间conn.CursorLocation = 3 '将记录存放在游览器端connstr = "Provider=SQLOLEDB.1;Persist Security Info=False;Server=" & strSQLServerName & ";User ID=" & strSQLDBUserName & ";Password=" & strSQLDBPassword & ";Database=" & strSQLDBName & ";"conn.Open connstr%>或:set adocon=Server.CreateObject("ADODB.Connection")'adocon.open "dsn=sdbz;uid=bz;pwd=wbbz"adocon.open "driver={sql server};server=(local);uid=sa;password=;database=bzdbf"2.Asp 中常用的函数<%Rem 过滤SQL非法字符function checkFFSQLStr(str)if isnull(str) thencheckFFSQLStr = ""exit functionend ifstr=replace(str," ","")str=replace(str,";","")str=replace(str,"'","''")checkFFSQLStr=strend functionRem 判断数字是否整形function isChkInteger(para)''On Error Resume Nextdim strdim l,iif isNUll(para) thenisChkInteger=falseexit functionend ifstr=cstr(para)if trim(str)="" thenisChkInteger=falseexit functionend ifl=len(str)for i=1 to lif mid(str,i,1)>"9" or mid(str,i,1)<"0" thenisChkInteger=falseexit functionend ifnextisChkInteger=trueif err.number<>0 then err.clearend function'-----------------------截取字符串函数function cutStr(str,strlen)'--------增加容错环节'------------原始字符串检查If str = "" ThencutStr = "cutStr函数异常:字符串为空"exit functionEnd If'------------来源长度检查If strlen = "" ThencutStr = "cutStr函数异常:长度未指定"exit functionEnd IfIf CInt(strlen) = 0 ThencutStr = "cutStr函数异常:长度为0"exit functionEnd If'----------检测来源字符长度dim l,t,cl=len(str)t=0'----------循环截取字符for i=1 to lc=Abs(Asc(Mid(str,i,1)))'------判断是否汉字if c>255 thent=t+2elset=t+1end If'------判断是否到达指定长度if t>=strlen thencutStr=left(str,i)&"…"exit forelsecutStr=strend ifnextcutStr=replace(cutStr,chr(10),"")end functionfunction tohtml(byval str1)tempstr=str1tempstr=replace(tempstr,"<br>"," ")tempstr=replace(tempstr,"&","&")tempstr=replace(tempstr,">",">")tempstr=replace(tempstr,"<","<")tohtml=tempstrend Function'--------HTML 加密函数function htmlecode(byval str1)Str=str1Str = Replace(Str,Chr(13)&Chr(10),"<br>", 1, -1, 1) '回车+换行Str = Replace(Str,Chr(13),"<br>", 1, -1, 1) '回车Str = Replace(Str,Chr(10),"<br>", 1, -1, 1) '换行Str = Replace(Str,"<br><br>","<br>", 1, -1, 1) '去除连续Str = Replace(Str,Chr(0),"", 1, -1, 1)Str = Replace(Str, "object", "object", 1, -1, 0) 'SQL单词过滤Str = Replace(Str, "OBJECT", "OBJECT", 1, -1, 0)Str = Replace(Str, "Object", "Object", 1, -1, 0)Str = Replace(Str, "object", "Object", 1, -1, 1)Str = Replace(Str, "applet", "applet", 1, -1, 0)Str = Replace(Str, "APPLET", "APPLET", 1, -1, 0)Str = Replace(Str, "Applet", "Applet", 1, -1, 0)Str = Replace(Str, "applet", "Applet", 1, -1, 1)Str = Replace(Str, "server", "server", 1, -1, 0) 'server 字符Str = Replace(Str, "=", "=", 1, -1, 1)Str = Replace(Str, "'", "''", 1, -1, 1)Str = Replace(Str, "select", "select", 1, -1, 1)Str = Replace(Str, "execute", "execute", 1, -1, 1)Str = Replace(Str, "exec", "exec", 1, -1, 1)Str = Replace(Str, "join", "join", 1, -1, 1)Str = Replace(Str, "union", "union", 1, -1, 1)Str = Replace(Str, "where", "where", 1, -1, 1)Str = Replace(Str, "insert", "insert", 1, -1, 1)Str = Replace(Str, "delete", "delete", 1, -1, 1)Str = Replace(Str, "update", "update", 1, -1, 1)Str = Replace(Str, "like", "like", 1, -1, 1)Str = Replace(Str, "drop", "drop", 1, -1, 1)Str = Replace(Str, "create", "create", 1, -1, 1)Str = Replace(Str, "rename", "rename", 1, -1, 1)Str = Replace(Str, "count", "count", 1, -1, 1)Str = Replace(Str, "chr", "chr", 1, -1, 1)Str = Replace(Str, "mid", "mid", 1, -1, 1)Str = Replace(Str, "truncate", "truncate", 1, -1, 1)Str = Replace(Str, "nchar", "nchar", 1, -1, 1)Str = Replace(Str, "char", "char", 1, -1, 1)Str = Replace(Str, "alter", "alter", 1, -1, 1)Str = Replace(Str, "cast", "cast", 1, -1, 1)Str = Replace(Str, "exists", "exists", 1, -1, 1)Str = Replace(Str, "[", "[")Str = Replace(Str, "]", "]")Str = replace(Str,"&","&")Str = replace(Str,">",">")Str = replace(Str,"<","<")htmlecode = Strend function'-------HTML 解释函数function forhtml(str1)tempstr=str1tempstr=replace(tempstr,""","""")tempstr=replace(tempstr,"&","&")tempstr=replace(tempstr,">",">")tempstr=replace(tempstr,"<","<")forhtml=tempstrend functionfunction htmltotext(byval nr)''过滤html字符的if not isnull(nr) thenpa=""strContent=nrSet regex = New RegExpregEx.Global = TrueregEx.IgnoreCase = False ' 设置是否区分大小写。
asp心得体会(心得体会,asp)
asp心得体会(心得体会,asp)第一篇:asp心得体会学习体会asp学习心得一、准备工作首先,学习asp要有些基本的编程知识.最好先学过点vb java最好因为asp不是一门编程语言而是一个web编程框架.他是利用脚本(vbscript javascript)语言做为编程语言的.如果你不会他们那么至少得会点c.c也不会的话建议你先学下c,虽然并不是一定要先学过编程语言,但是学他对这个的学习是有莫大的好处的.在中,整张web页是放在一张大表单里面的。
如:********网页的具体内容??在这个表单内可能放置了很多html控件如按钮、下拉菜单、文本框等。
提供了一些服务器端web控件。
在服务器上执行的时候,通过一定的条件,web窗体将这些服务器web控件转换为普通的html控件。
比如一个按钮:经过转换后就变成了:在中,一个web窗体被看成了一个对象。
它的数据成员就是那些web控件和你自己定义的变量,它的函数成员就是那些用来响应客户端操作的函数,当然还有你自己定义的函数。
我大致讲一下用户请求一张web页的时候发生了一些什么事件:首先,用户第一次请求页面时,先执行web页的page_init过程,在这里通常对组件进行初始化。
然后执行page_load过程,在这里,我们可以做一些初始化的工作。
比如:设定标签控件的文本为:“初始”。
然后,由于用户是第一次请求页面,所以没有什么其他事件发生。
程序控制转为解释执行html代码页中的服务器代码。
在html中,有一个这就是我们的标签控件。
因为我们在page_load过程中对标签的文本赋值了,所以现在程序在将转换为初始。
而按钮的转换就类似于上面我已经说过内容。
经过这些转换以后,html页内的代码变成了标准的代码。
然后,这些代码被用户浏览器得到了。
经过解析后,用户就可以看到一个“初始”和一个按钮。
现在,用户对着按钮点击了一下。
于是,表单就提交了。
(提交的细节,我下面再说)通过提交的表单,服务器得知这是用户点击了按钮控件。
在ASP中使用数据库
在ASP中使用数据库ASP有一个最重要的功能,就是它可以让你非常轻松地连接数据库。
通常都是和一个Access或者一个SQL数据库相连。
因为Access是最容易起步的,同时,在你的机器上也许已经都装有Access了,所以,在下面的例子中,我们都将使用Access来做例子。
一旦你学习了ASP和Access数据库连接的核心技术方法,当你开始使用SQL server的时候,你就会发现,两者所需要的关键技术是基本相同的。
当你要连接数据库的时候,你需要在服务器上将这个数据库打开。
你可以通过使用数据源名(DSN)或者通过在你的脚本语言中直接使用一个DSN-less连接的方法来连接和打开数据库。
创建一个数据源名(DSN)你可以通过在控制面板中给你的数据库建立一个系统DSN来使你的数据库可以在ASP中连接使用。
你可以在你的本地计算机上建立若干个DSN,每个DSN对应你使用的不同的数据库。
在建立完DSN之后,你就可以在你的本地服务器上测试你的页面了。
如果你的网站是由ISP提供服务的,并且这个ISP支持ASP,那么很有可能它就会提供一个GUI接口,来给你的数据库创建一个DSN。
在Windows 95/98/NT中,打开控制面板(开始菜单->设置->控制面板),双击ODBC进入。
选择系统DSN,点击Add。
选择“Microsoft Access Driver”,点击结束。
填写数据源名。
这是你给你的数据库起的名字,所以和一个alias是同样的操作。
在数据库选择中点击选择按钮,浏览系统中你创建的Access数据库所存放的位置。
点击OK现在,新的DSN现在就会在系统DSN中显示,并且可以在你的本地服务器上使用了。
连接数据库让我们建立一个DSN-less连接,并且看看是如何连接数据库的。
当你创建一个DSN的时候,你就已经存储了关于这个数据库的一些信息,所以你不需要在每次需要使用一些信息的时候重复它们,这些信息如:数据库类型、名称、存放地点和可选性、用户和密码。
ASP对数据库的操作
ASP对数据库的操作ASP(Active Server Pages)是一种用于构建动态网站的服务器端脚本语言。
在ASP中,我们可以使用一些内置对象和方法来与数据库进行交互。
下面将介绍ASP中对数据库的操作。
1.连接数据库:在ASP中,我们可以使用ADO(ActiveX Data Objects)来连接数据库。
ADO提供了一组对象和方法,用于连接不同类型的数据库。
以下是连接数据库的基本步骤:- 创建ADO对象:通过创建一个ADO对象来连接数据库。
常用的ADO 对象包括Connection、Recordset等。
-设置连接字符串:连接字符串包含了连接数据库所需的信息,如数据库类型、服务器名、用户名、密码等。
可以根据不同数据库类型设置不同的连接字符串。
- 打开数据库连接:使用Connection对象的Open方法来打开数据库连接。
2.执行SQL语句:在连接好数据库后,我们可以执行SQL语句来对数据库进行操作。
ASP提供了几种方法来执行SQL语句:- Execute方法:使用Connection对象的Execute方法可以执行任意SQL语句,如插入、更新、删除等。
执行后返回受影响的行数。
- ExecuteScalar方法:用于执行查询语句,并返回查询结果的第一行第一列的值,适用于单个结果的查询。
- ExecuteReader方法:用于执行查询语句,并返回一个DataReader 对象,适用于多个结果的查询。
3.事务处理:在数据库操作中,有时需要保证一系列的操作要么全部成功,要么全部失败,这时可以使用事务来管理操作。
ASP中有以下几个方法可用于事务处理:- BeginTrans方法:用于开始一个事务。
- RollbackTrans方法:用于回滚事务,撤销之前的操作。
4.数据库查询结果处理:在执行查询语句后,我们需要获取查询结果并进行相应处理。
ASP提供了Recordset对象来处理数据库查询结果:- MoveNext方法:用于将指针移动到结果集的下一行。
asp数据库简单操作
set rs=nothing
set conn=nothing
-------------------------------------------------------
%>
常见操作<5>关于数据库的查询
(a) 查询字段为字符型
<%
dim user,pass,qq,mail,message
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
%>
(用来连接bbs\db1\目录下的user.mdb数据库)
常见操作<2>显示数据库记录
原理:将数据库中的记录一一显示到客户端浏览器,依次读出数据库中的每一条记录
如果是从头到尾:用循环并判断指针是否到末 使用: not rs.eof
asp与数据库的基本操作方法
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;"
另外如果是查询传入的变量,则如下:
strau=request.form("author")
strsql="select * from book where author=’"&strau&"’"
如果查询的是数字,则:
intID=request.form("id")
strsql="select * from book where id="&intID
11.MS text OLE DB 连接方法:
set adocon=Server.Createobject("adodb.connection")
adocon.open"Provider=microsof.jet.oledb.4.0;data source=your_path;"&_
strau=request.form("author")
strname=request.form("bookname")
strsql="insert into book (bookno,author,bookname) values (’"&strno&"’,’"&strau&"’,’
ASP与数据库连接、写入、修改、删除、显示的代码整理
数据库连接--------------------------------MS 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={Microsoft Access Driver (*.mdb)}; "Strconn=Strconn & "DBQ=e:\yanhang\database.mdb"conn.Open Strconn%>用实际的数据库相对路径连接:<%Set conn=Server.CreateObject("ADODB.Connection")Strconn="DRIVER={Microsoft Access Driver (*.mdb)}; "Strconn=Strconn & "DBQ=" & Server.MapPath("/database/yanhang.mdb")conn.Open Strconn%>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={SQLServer};SERVER=ServerName;UID=USER;PWD=password;DATABASE=databasename"conn.open DSNtemp%>FoxPro数据库连接<%Set Conn=Server.CreateObject("ADODB.connection")ConnStr="Driver=Microsoft Visual Foxpro Driver;UID=userID;SourceType=DBC;SourceDB=C:\yanhang\database.dbc"Conn.Open ConnStr%>Oracle数据库连接:<%set conn=server.createobject("adodb.connection")conn.cursorlocation=adUseClientDSNTemp="Provider=MSDAORA.1;Password=xxxxx;User ID=yanhang;Data Source=xxx.world" conn.open DSNtemp%>数据写入……………………………………………………………………………………<!--#include file="common/conn.asp"--><%set rs=server.createobject("adodb.recordset")sql="select * from online"rs.open sql,conn,3,2rs.addnewrs("name")=request("name")rs("Tel")=request("tel")rs("fax")=request("fax")rs("mail")=request("email")rs("code")=request("zip")rs("content")=request("contents")rs("Address")=request("Address")rs.updaters.close%><script language="JavaScript">alert("成功添加!!")location.href="back.asp"</script>数据修改……………………………………………………………………………………<%if request("action")="edit" then '判断是否修改'取得表单传递的数据member_name=Trim(Request.Form("member_name"))member_pwd=Trim(Request.Form("member_pwd"))question=Trim(Request.Form("question"))answer=Trim(Request.Form("answer"))realname=Trim(Request.Form("realname"))sex=Trim(Request.Form("sex"))zip=Trim(Request.Form("zip"))address=Trim(Request.Form("address"))tel=Trim(Request.Form("tel"))fax=Trim(Request.Form("fax"))mobile=Trim(Request.Form("mobile"))email=Trim(Request.Form("email"))web=Trim(Request.Form("web"))vip=request.form("vip")remark=Trim(Request.Form("remark"))sql="select * from member where m_id="&m_idset rs=server.createobject("adodb.recordset")rs.open sql,conn,1,3rs("member_name")=member_namers("answer")=answerrs("question")=questionrs("member_pwd")=member_pwdrs("realname")=realnamers("sex")=sexrs("zip")=ziprs("tel")=telrs("mobile")=mobilers("fax")=faxrs("address")=addressrs("email")=emailrs("web")=webrs("vip")=viprs("remark")=remarkrs.updaters.closeset rs=nothingcall ok("资料修改成功!","edit_member.asp?m_id="&m_id)end if%>数据删除……………………………………………………………………………………<%if Trim(Request.QueryString("action"))="del" thenID = Trim(Request.QueryString("ID"))set rs=server.createobject("adodb.recordset")sql="select * from pay where ID ="&IDrs.open sql,conn,1,3rs.deleters.closeend if%>数据显示……………………………………………………………………………………<%Lei="行业资讯" '设置显示信息类别set rs=server.CreateObject("adodb.Recordset")sql="Select top 20 * from News where Lei <> '"&Lei&"' order by ID desc"rs.open sql,conn,1,1if rs.eof then '判断数据库内有无信息,防止读取错误%>暂无信息!<%elsedo while not rc.eof%><%if len(rs("Title")) > 10 then Response.write left(rs("Title"),10)&"..." else Response.write rs("Title") end if%><%'循环显示数据rc.movenextlooprc.closeset rc=nothingend if%>。
asp心得体会(心得体会,asp)
asp心得体会(心得体会,asp)一、准备工作首先,学习asp要有些基本的编程知识.最好先学过点vb java最好因为asp不是一门编程语言而是一个web编程框架.他是利用脚本语言做为编程语言的.如果你不会他们那么至少得会点c.c也不会的话建议你先学下c,虽然并不是一定要先学过编程语言,但是学他对这个的学习是有莫大的好处的.在中,整张web页是放在一张大表单里面的。
如: htmlhead title ******** /title/headbodyform name= form1 action= *****网页的具体内容??/form/body/html在这个表单内可能放置了很多html控件如按钮、下拉菜单、文本框等。
提供了一些服务器端web控件。
在服务器上执行的时候,通过一定的条件,web窗体将这些服务器web控件转换为普通的html控件。
比如一个按钮: asp:button id= b_submit runat= server width= 37 height= 22 text= 确定backcolor= dodgerbluebordercolor= lavender forecolor= white /asp:button 经过转换后就变成了:input type= submit name= b_submit value= 确定 id= b_submit >在中,一个web窗体被看成了一个对象。
它的数据成员就是那些web控件和你自己定义的变量,它的函数成员就是那些用来响应客户端操作的函数,当然还有你自己定义的函数。
我大致讲一下用户请求一张web页的时候发生了一些什么事件:首先,用户第一次请求页面时,先执行web页的page_init过程,在这里通常对组件进行初始化。
然后执行page_load过程,在这里,我们可以做一些初始化的工作。
比如:设定标签控件的文本为:初始。
然后,由于用户是第一次请求页面,所以没有什么其他事件发生。
asp心得体会(心得体会,asp)(精选篇)
asp心得体会(心得体会,asp)asp心得体会(心得体会,asp)//.t/(anf4vuup3xiq0arjlqla2l55)/prfile.aspx 这样的 url,可以由开发人员自行设置,或是使用 autdetet 设置来让 自行判断要使用的 sessin id 存放方式。
sessin id 的产生方法可以由程序开发人员自定义,借由改写sessinidanager 的 reatesessinid() 方法来自定义。
using syste;using syste.nfiguratin;using syste.eb.nfiguratin;using syste.eb;using syste.eb.sessinstate;naespae saples.aspnet.sessin{publi lass guidsessinidanager : sessinidanager {publi verride string reatesessinid(ntext ntext) {return guid.neguid().tstring();}publi verride bl validate(string id) {try {guid testguid = ne guid(id);if (id == testguid.tstring()) return true;}ath { }return false;}}} 是开发 eb 应用程序的基础架构 (fraerk),除了它内部的运作方法外,对外也显露了许多的开发支持,让开发人员可以利用它来发展出许多强大的 eb 应用程序解决方案。
最基础的底层为页,页由 syste.eb.ui.page 类来提供基础支持,包含了页面的事件以及对象绘制的引发点(page 类本身是一个 handler 的实现品)。
页在微软的官方名称中,称为 eb fr,除了是要和inds frs作分别以外,同时也明白的刻划出了它的主要功能:让开发人员能够像开发 inds frs 一样的方法来发展eb 页。
ASP数据库操作总结(给力之家)
ASP数据库操作总结(给力之家)
ASP数据库操作总结给力之家
一连接数据库
Conn.asp
<%
dim db,str
set db=server.CreateObject("adodb.connection")
Set rs=Server.CreateObject("Adodb.Recordset")
sql="Select * from link"
rs.open sql,db,1,1(或1,3)
%>
显示记录的方法
<%
do while not rs.eof
%>
<%=rs("name")%>
>ቤተ መጻሕፍቲ ባይዱ%=rs("url")%>
str="Driver={microsoft access driver (*.mdb)};DBQ=" & server.MapPath("db\\wwwlink.mdb") db.open str
%>
之后在每个需要操作数据库的页面引用该文件
二显示数据库记录
1、首先建立记录集
<%
dim rs,sql
<%=rs("intro")%>
修改
">删除
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ASP数据库操作总结给力之家一连接数据库Conn.asp<%dim db,strset db=server.CreateObject("adodb.connection")str="Driver={microsoft access driver (*.mdb)};DBQ=" & server.MapPath("db\wwwlink.mdb") db.open str%>之后在每个需要操作数据库的页面引用该文件<!--#include file="conn.asp" -->二显示数据库记录1、首先建立记录集<%dim rs,sqlSet rs=Server.CreateObject("Adodb.Recordset")sql="Select * from link"rs.open sql,db,1,1(或1,3)%>显示记录的方法<%do while not rs.eof%><tr><td width="135"><%=rs("name")%></td><td width="108"><a href=<%=rs("url")%>><%=rs("url")%></a></td><td width="153"><%=rs("intro")%></td><td width="54">修改</td><td width="44"><a href="del.asp?id=<%=rs("link_id")%>">删除</a></td></tr><%rs.movenextloop%>三添加记录<%yname=request("yname")url=request("url")intro=request("intro")set rs_news=server.CreateObject("adodb.recordset")sql="select * from link"rs_news.open sql,conn,1,3if yname<>"" and url<>"" thenrs_news.addnewrs_news("name")=ynamers_news("url")=urlrs_news("intro")=intrors_news("submit_date")=daters_news.updateend if%>添加记录的另一种方法四删除记录(删除记录时,要注意传递相关参数)<%id=request.QueryString("id")set rs_news=server.CreateObject("adodb.recordset")sql="delete from link where link_id="& idrs_news.open sql,conn,1,3response.Redirect("dbshow.asp")%>五修改记录首先建立记录集,根据传递的参数将要修改的记录取出来(尤其要提醒的是,一定要注意SQL<%id=request.QueryString("id")set rs_news=server.CreateObject("adodb.recordset")sql="select * from link where link_id=" & idrs_news.open sql,conn,1,3%>然后修改(一般需要修改的记录放在表单中,不需要修改的直接显示出来)<%if request("name")<>"" and request("url")<>"" and request("intro")<>"" thenyname=request("yname")url=request("url")intro=request("intro")set rs=server.CreateObject("adodb.recordset")sql="update link set name='" & yname &"',url='" & url &"',intro='" & intro &"' where link_id=" & idrs.open sql,conn,1,3response.Redirect("dbshow.asp")end if%>六搜索<%dim sql,rs,findtextfindtext=request.Form("findtext")if findtext<>"" thensql="select * from link where name like '%" & findtext & "%'"set rs=db.execute(sql)do while not rs.eof%><tr><td><%=rs("name")%></td><td><%=rs("url")%></td><td><%=rs("intro")%></td></tr><%rs.movenextloopend if%>七Asp分页技术分页程序首先读取每页预置的记录条数,在此是5条,其它将在下页中显示,同时提示当前页数、总页数、总记录数,当显示的页数为第一页时,“首页”、“上一页”链接失效,当显示的页数为最后页时,“下一页”、“尾页”链接失效。
接下来,以实例的方式介绍怎么一步步的做出这种分页效果。
首先,数据库中字段record_info存在于info表中,先链接数据库并将一个记录集打开,<%Set conn=Server.CreateObject("Adodb.Connection")connstr="provider=Microsoft.JET.OLEDB.4.0;Data Source="&Server.MapPath("data.mdb") conn.open connstrSet rs=Server.CreateObject("Adodb.Recordset")sql="Select * from info"rs.open sql,conn,1,1%>这段代码不详解,以前课我们已经讲过,接下来这是分页中比较重要的部分,只有三行而已:<%rs.pagesize=5curpage=Request.QueryString("curpage")if curpage="" then curpage=1rs.absolutepage=curpage%>第二句:rs.pagesize=5,这个什么意思呢?它就是在Recordset对象中的一个内置属性,它的作用是指定每页的记录条数,设置为5时,每5条记录放在一起成一页(即每页只显示5条记录),比如实例中共有21条记录,那么,使用rs.pagesize分页后,这21条记录将分成5页进行显示。
第三、四句:这里主要是用于翻页的功能,将URL的post参数curpage传递给curpage变量,这个curpage将得到浏览者想要到达的页数,同时用if语句将没有传递到curpage参数的页直接赋于第一页的值。
(运行一下实例就会明白)第五句:rs.absolutepage,这个也是个内置的属性,它代表的意思就是将curpage变量的数值指定为当前页。
现在开始可以让记录循环显示了:<%for i= 1 to rs.pagesizeif rs.eof thenexit forend if%><%=rs("record_info")%><br><%rs.movenextnext%>代码解释:第二句:利用for循环在每页显示rs.pagesize属性中指定的记录数。
第三、四、五句:这句意思是当最后一页达不到指定记录时就退出循环,以免出错。
第七句:绑定从数据库取出的record_info字段,就是叫这字段内的记录循环显示的。
用rs.movenext方法将rs记录集往下移一条记录。
第十句:for循环语句。
另外可以用<%=curpage%>读出当前页次,用<%=rs.pagecount%>读出总页数,用<%=rs.recordcount%>读出总记录数。
例如:“当前第<%=curpage%>页,共有<%=rs.pagecount%>页,共有:<%=rs.recordcount%>条记录”。