ASP与SQL数据库连接语句具体如下:
Set conn = ServerCreateObject("ADODBConnection")
connstr = "provider=Sqloledb;server=服务器名;uid=用户名;pwd=密码;database=数据库名"
connOpen connstr
If Err Then
errClear
Set conn = Nothing
ResponseWrite "数据库连接出错,请检查连接字串"
ResponseEnd
扩展资料:
SQL常用命令使用方法:
(1) 数据记录筛选:
sql="select from 数据表 where 字段名=字段值 order by 字段名 "
sql="select from 数据表 where 字段名 like ‘%字段值%‘ order by 字段名 "
sql="select top 10 from 数据表 where 字段名 order by 字段名 "
sql="select from 数据表 where 字段名 in (‘值1‘,‘值2‘,‘值3‘)"
sql="select from 数据表 where 字段名 between 值1 and 值2"
(2) 更新数据记录:
sql="update 数据表 set 字段名=字段值 where 条件表达式"
sql="update 数据表 set 字段1=值1,字段2=值2 …… 字段n=值n where 条件表达式"
(3) 删除数据记录:
sql="delete from 数据表 where 条件表达式"
sql="delete from 数据表" (将数据表所有记录删除)
ASP(Active Server Pages)是微软公司为开发互联网络应用程序所提出的工具之一 它是一种类似HTML(Hypertext Markup Language超文本标记语言) Script与CGI(Common Gateway Interface通用网关接口)的结合体 但是其运行效率却比CGI更高 程序编制也比HTML更方便且更有灵活性 程序安全性及保密性远比Script好 因此ASP是目前网页开发技术中最容易学习 灵活性最大的开发工具 ASP内置的ADO组件是微软公司开发的互联网络数据库存取解决方案 也是ASP存取数据库的重要功臣 ADO通过ODBC访问数据库 从理论上讲ADO能访问各种ODBC所支持的数据库 如Microsoft SQL Server Access Foxpro Oracle Dbase等 然而在实践中我们发现ADO可以完全支持Microsoft SQL Server和Acess 然而对于Oracle就有些困难了 笔者在实践中利用ADO访问Oracle 结果发现ADO不能访问Oracle 的数字型字段 并且发现ADO访问Oracle 的速度极慢 为了解决利用ASP访问Oracle 的速度及其他技术问题 笔者尝试了利用Oracle Object for OLE访问Oracle 结果完全取得了笔者预期的结果 Oracle Object for OLE是Oracle公司为了客户端存取数据库所发展的一个重要的产品 它以Windows / /NT为基础 共所有与OLE兼容的应用程序访问Oracle数据库 它是没有用户界面的OLE Server 其所包含的Oracle Objects Server是ASP访问Oracle数据库的重要功臣之一 要通过Oracle Objects Server来访问Oracle 数据库 除了基本的Web服务器与ASP等软件外 还必须确定Web服务器已经安装了Oracle Object for OLE软件 其所需的软件包括 Neork Protocol Adapter Oracle Object for OLE X SQLNet Client X或Oracle Net Client X SQLPlus及Oracle ODBC Driver 在确定Web服务器已安装上述软件后 还必须利用SQLNet Client X或Oracle Net Client X进行数据库的连接测试并设置数据库别名(Database Alias) Oracle Objects Server共提供Oraclient Orasession Oraconnection OraDatabase OraDynaset OraSQLstmt OraField Oraparameter Oraparameter Array等九个对象供开发者使用 其功能与作用分述如下 .Oraclient对象 Oraclient对象是用来定义服务器端(Client或Workstation)的范围 Oraclient会记录此服务器端的所有Orasession对象 Oraclient由系统根据需要自动建立 .Orasession对象 Orasession对象用来在程序中管理Oraconnection OraDatabase OraDynaset等对象 其建立方法如下 Set Orasession=Create( OracleInProcServer Xorasession ) .Oraconnection对象 Oraconnection对象表示对OraDatabase对象的连接 当需要建立OraDatabase对象时 系统会自动产生一个Oraconnection对象 反之 当与数据库断开连接时 Oraconnection对象自动释放 .OraDatabase对象 OraDatabase对象表示对数据库服务器的虚拟登录 其登录方法如下 Set Oradadabase=Orasession Dbopendatabase_ ( 数据库别名 用户名称/密码 ) .OraDynaset对象 OraDynaset对象会将数据库服务器符合SELECT命令的数据加以存储在客户端的缓冲区 让用户浏览或更新 最后将结果写回到服务器 其方法如下 SetOraDynaset=OraDatabase DbcreateDynaset( SQL语句 ) .OraSQLstmt对象 OraSQLstmt对象通常用来运行SQL命令 或是调用存储过程 其用法如下 Set Orasqlstmt=Oradatabase createSQl( SQL语句 ) .OraField对象 OraField对象表示在OraDynaset对象中的某个字段或数据项目 他通过Value属性设置或取得OraDynaset对象中的某个字段值 .Oraparameter对象 Oraparameter对象表示一个在SQL命令或PL/SQL程序区块中所附加的变量 .Oraparameter Array对象 Oraparameter Array对象是Oraparameter对象的数组类型 Oraparameter Array对象可以间接通过OraDatabase对象的Oraparameter数据集合来增加 存取或删除某个变量 下面举一具体例子说明如何在ASP中利用Oracle Object for OLE访问Oracle 笔者编写了一个在ASP中利用Oracle Object for OLE 查询Oracle 数据库 并进行分页显示的程序 由于Orasession对象的属性中没有控制分页的属性 应此笔者自编了分页控制的程序 以下共两个ASP文件(query asp和query asp) query asp文件先取得数据库表的内容 然后计算分页的页数 如果页数超过一页 则交由query asp处理 其程序代码如下 query asp <% ‘连接数据库 set orasession=createobject("oracleinprocserverxorasession") set oradatabase=orasessiondbopendatabase("orant","scotter/tiger",0) ‘设置查询条件 sql="select from cq_hjwj " set session(oradynaset)=oradatabasedbcreatedynaset(sql,0) ‘设置页长 pagesize=15 if session(oradynaset)recordcount=0 then responsewrite "无符合条件的数据" else responsewrite"查询结果" ‘计算页数 pages=int(session(oradynaset)recordcount/pagesize) if pagespagesize=session(oradynaset)recordcount then pages=int(session(oradynaset)recordcount/pagesize) else pages=int(session(oradynaset)recordcount/pagesize)+1 end if if request("page")="" then page=1 else page=cstr(request("page")) end if responsewrite"共"&pages&"页,目前第"&page&"页" responsewrite"" for i=0 to session(oradynaset)unt - 1 responsewrite"" responsewrite session(oradynaset)fields(i)name responsewrite"" next responsewrite "" startrow=(page-1)pagesize+1 endrow=pagepagesize oradynasetmoveto startrow for j=startrow to endrow responsewrite"" for i=0 to session(oradynaset)unt - 1 responsewrite"" responsewrite session(oradynaset)fields(i)value responsewrite"" next responsewrite"" session(oradynaset)dbmovenext if session(oradynaset)eof then exit for next responsewrite"" end if if page> then response write 第一页 response write 上一页 end if if cint(page) response write 下一页 response write 最后页 end if set orasession=nothing %> query asp <% 设置页长 pagesize= if session(oradynaset) recordcount= then response write 无符合条件的数据 else response write 查询结果 计算页数 pages=int(session(oradynaset) recordcount/pagesize) if pagespagesize=session(oradynaset) recordcount then pages=int(session(oradynaset) recordcount/pagesize) else pages=int(session(oradynaset) recordcount/pagesize)+ end if if request( page )= then page= else page=cstr(request( page )) end if response write 共 &pages& 页 目前第 &page& 页 response write for i= to session(oradynaset)unt response write response write session(oradynaset) fields(i) name response write next response write startrow=(page )pagesize+ endrow=pagepagesize oradynaset moveto startrow for j=startrow to endrow response write for i= to session(oradynaset)unt response write response write session(oradynaset) fields(i) value response write next response write session(oradynaset) dbmovenext if session(oradynaset) eof then exit for next response write end if if page> then response write 第一页 response write 上一页 end if if cint(page) response write 下一页 response write 最后页 end if set orasession=nothing %>
; ——此文章摘自《ASP NET网络数据库开发实例精解》定价 ¥ 特价 ¥ 详细>>
try { accessConn Open(); //打开OLEDB数据库的连接 Response Write( 连接MyFirstAccessDB数据源成功!!! ); //显示数据库中的信息 OleDbDataReader reca = accessComm ExecuteReader(); while(reca Read()) { //获取相应数据 dataString += reca[ MyID ] ToString() + + reca[ MyName ] ToString() + + reca[ MyType ] ToString() + + reca[ MyLength ] ToString(); dataString += <br> ; } reca Close(); Response Write(dataString); //显示数据库中的内容 accessConn Close(); //关闭OLEDB数据库的连接 } catch(Exception ex) { Response Write(ex Message); //抛出数据库连接异常 } }
单击页面UpdateData aspx中修改数据按钮控件 触发事件 UpdateDataBtn_Click(object sender System EventArgs e) 该事件实现修改数据库MyFirstAccessDB中数据的功能 它调用函数UpdataDBData(String myID String myName) 首先从页面获取MyID和MyName的值 然后再使用SQL更新语句更新表中相应的记录 最后调用函数ShowDBData()显示表的数据 事件UpdateDataBtn_Click(object sender System EventArgs e)和函数UpdataDBData(String myID String myName)的程序代码如下 private void UpdateDataBtn_Click(object sender System EventArgs e) { if(MyID Text Trim() Length > && MyName Text Trim() Length > ) { UpdataDBData(MyID Text Trim() MyName Text Trim()); //修改表中的记录 ShowDBData(); //显示修改后的数据 } } private void UpdataDBData(String myID String myName) { //设置访问数据库的连接 string accessString = ACCESSCONNECTIONSTRING + Server MapPath( MyFirstAccessDB mdb ); //设置更新数据库的SQL语句 string cmdText = UPDATE MyDataTable SET MyName= + myName + WHERE MyID= + myID; //创建访问数据库的连接和Command OleDbConnection accessConn = new OleDbConnection(accessString); OleDbCommand accessComm = new OleDbCommand(cmdText accessConn);
lishixinzhi/Article/program/net/201311/15129
1,找到密码和账号是通过SQL注入找到的。虽然MD5加密的密码不能被逆向破解,但是存在SQL注入漏洞的话对方完全可以用代码直接将你的密码改为AAABBBCCCDDDEEEF,也就是密码为1。就可以直接登录了。所以最关键的问题在于如何防止SQL注入。
SQL注入方式已经太多资料了,我就不转载了。简单的说,SQL注入就是通过巧妙插入SQL代码,让系统执行,从得到的结果来一步步解开破解信息。而这个代码,只要是交互的地方都有可能被插入。例如字符串传递:XXXaspid=,或者在用户名输入框,或者搜索框
因此,我们只要保证所插入的信息没有SQL代码就可以了。
例如,用户登录程序中,我们只要把
username=requestForm("username")
修改为
username=trim(requestForm("username"))
也就是去掉空格,这样SQL代码就没法用,就基本可以防范从用户登录界面进行SQL注入了。但是还不够,因为空格可以用unicode码代替,所以我们还要把unicode特有的字符%替换掉,就没问题了。
对于从字符串传递的参数,我们也可以同样处理,用trim()去除空格,然后用replace替换% 。这样还不够,还应再把()小括号替换掉,把单引号'替换掉。
如果是id之类纯数字,还应在用cint()强制转为数字,如果不是数字就会在这一步出错。
2,这个问题实际上和第一个问题是一样的,就是从防止SQL注入出发。
3,只要你的网站还有输入的地方,而且这个输入的地方会被诸如sql="select from asdf where id="&id这样的语句执行,就必须防范SQL注入。Access+asp除了防范SQL注入,还要防范暴库,也就是被黑客用一些语句判断出你的数据库地址,把你整个数据库下载下来。。。。到时候还不是想怎么看就怎么看,想怎么玩就怎么玩!
防止数据库被下载,你可以在数据库里面新建一个表,表里面输入一个文本内容为<%asdfasdfasdf%>随便输,反正只要不能被执行就可以了。然后把数据库改名为asp后缀,这样对方试图下载的时候就会提示:asp解析出错,第XX行。这样就不用怕暴库了。此外配置mdb文件解析对应,配置数据池等等方法都可以比较有效的防止暴库。
因为ASP有ADODB组件,所以一般的数据库都可以,包括Oracle,但是主要使用的是两种数据库MicrosoftOfficeAess和MSSQLServer。
MicrosoftOfficeAess简称Aess
主要应用于中小型网站,包括企业网站和公司网站,个人博客的类型的网站。甚至一些小型信息网站。他的优点就是简单好 *** 作,缺点就是数据量太大超过10G以上基本上就不能正常使用了。
MSSQLServer简称SQL数据库
主要应用于中型大型网站上,也是现在人们最常用的数据库之一,ASP和SQL搭配很好,它的主要优点就是运行速度稳定,容量大,对网站和数据的稳定有着重要的优势。
现在程序员普通两种都会有涉及使用,主要是根据你行业针对客户人群数据来选择,本身没有好坏,只有更适合。
一 访问WEB数据库的多种方案
目前在WINDOWS环境下有多种访问WEB数据库的技术,主要有:
1公共网关接口CGI(Common Gateway Interface)
CGI是较早实现的技术。适用于多种服务器平台,如UNIX、WINDOWS等,但CGI的开发成本高、维护困难、功能有限、不具备事务处理功能、占用服务器资源较多。
2 INTERNET数据库连接器IDC(Internet Database Connector)
IDC集成在ISAPI(Internet Server API)中,充分利用了DLL技术,易扩充,但编程较CGI更为复杂,只适用于小型数据库系统。
3 先进数据库连接器ADC(Advance Database Connector)
ADC提供了ActiveX Control来访问数据库,它的主要特点是数据查询由用户端浏览器执行,因而需将服务器端数据库中的部分记录下载到用户端,系统开销较大、响应慢,只适用于特别频繁的数据库查询 *** 作。
4 JAVA/JDBC语言编程
JAVA语言是一种面向对象、易移植、多线程控制的语言,可通过JDBC去连接数据库。用JAVA/JDBC编写的软件可移植性强,适用于多种 *** 作系统,但其执行效率和执行速度还不理想,目前无法建立高效、高速的应用。
5 动态服务器页面ASP(Active Server Page)
ASP是微软公司最新推出的WEB应用开发技术,着重于处理动态网页和WEB数据库的开发,编程灵活、简洁,具有较高的性能,是目前访问WEB数据库的最佳选择。
二 ASP简介
1ASP访问数据库的原理
ASP是服务器端的脚本执行环境,可用来产生和执行动态的高性能的WEB服务器程序。
当用户使用浏览器请求ASP主页时,WEB服务器响应,调用ASP引擎来执行ASP文件,并解释其中的脚本语言(JScript 或VBScript),通过ODBC连接数据库,由数据库访问组件ADO(ActiveX Data Objects)完成数据库 *** 作,最后ASP生成包含有数据查询结果的HTML主页返回用户端显示。
由于ASP在服务器端运行,运行结果以HTML主页形式返回用户浏览器,因而ASP源程序不会泄密,增加了系统的安全保密性。此外,ASP是面向对象的脚本环境,用户可自行增加ActiveX组件来扩充其功能,拓展应用范围。
2ASP页面的结构:
ASP的程序代码简单、通用,文件名由asp结尾,ASP文件通常由四部分构成:
1) 标准的HTML标记:所有的HTML标记均可使用。
2) ASP语法命令:位于<% %> 标签内的ASP代码。
3) 服务器端的include语句:可用#include语句调入其它ASP代码,增强了编程的灵活性。
4) 脚本语言:ASP自带JScript和VBScript两种脚本语言,增加了ASP的编程功能,用户也可安装其它脚本语言,如Perl、Rexx等。
3ASP的运行环境
目前ASP可运行在三种环境下。
1) WINDOWS NT server 40运行IIS 30(Internet Information Server)以上。
2) WINDOWS NT workstation 40运行Peer Web Server 30以上。
3) WINDOWS 95/98运行PWS(Personal Web Server)。
其中以NT server上的IIS功能最强,提供了对ASP的全面支持,是创建高速、稳定的ASP主页的最佳选择。
4ASP的内建对象
ASP提供了六个内建对象,供用户直接调用:
1) Application对象:负责管理所有会话信息,可用来在指定的应用程序的所有用户之间共享信息。
2) Session对象:存贮特定用户的会话信息,只被该用户访问,当用户在不同WEB页面跳转时,Session中的变量在用户整个会话过程中一直保存。Session对象需cookie支持。
3) Request对象:从用户端取得信息传递给服务器,是ASP读取用户输入的主要方法。
4) Response对象:服务器将输出内容发送到用户端。
5) Server对象:提供对服务器有关方法和属性的访问。
6) Object Context对象:IIS 40新增的对象,用来进行事务处理。此项功能需得到MTS(Microsoft Transcation Server)管理的支持。
5 ASP的主要内置组件:
1) Ad Rotator组件:用来按指定计划在同一页上自动轮换显示广告,用于>
以上就是关于ASP 怎么连接SQL数据库全部的内容,包括:ASP 怎么连接SQL数据库、在ASP中利用Oracle Object for OLE访问Oracle 8、ASP.Net网络数据库:修改数据库[3]等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)