博文
asp连接各种数据库的方法 (2006-02-22 12:01:00)
摘要: 一、asp的对象存取数据库方法 在asp中,用来存取数据库的对象统称ado(active data objects),主要含有三种对象:
connection、recordset 、command connection:负责打开或连接数据 recordset:负责存取数据表 command:负责对数据库执行行动查询命令
二、连接各数据库的驱动程序
连接各数据库可以使用驱动程序,也可以使用数据源,不过我建议大家使用驱动程序,因为使用驱动程序非常方便、简单,而使用数据源比较麻烦。
odbc链接
适合数据库类型 链接方式 access "driver={microsoft access driver(*.mdb)};dbq=*.mdb;uid=admin;pwd=pass;" dbase "driver={microsoft dbase driver(*.dbf)};driverid=277;dbq=------------;" oracle "driver={microsoft odbc for oracle};server=oraclesever.world;uid=admin;pwd=pass;" mssql server "driver={sql server};server=servername;database=dbname;uid=sa;pwd=pass;" ms text "driver={microsoft text driver(*.txt; *.csv)};dbq=-----;extensions=asc,csv,tab,txt;persist securityinfo=false;" visual foxpro "driver={microsoft visual foxpro driver};sourcetype=dbc;sourcedb=*.dbc;exclusive=no;" mysql "driver={mysql};database=yourdatabase;uid=username;pwd=yourpassword;option=16386;"
oledb链接
适合的数据库类型 链接方式 access "provider=mi......
几个常用的小函数 (2006-02-22 12:00:00)
摘要: //函数名:chkemail//功能介绍:检查是否为Email Address//参数说明:要检查的字符串//返回值:0:不是 1:是function chkemail(a){ var i=a.length;var temp = a.indexOf('@');var tempd = a.indexOf('.');if (temp > 1) {if ((i-temp) > 3){
if ((i-tempd)>0){return 1;}
}}return 0;}//函数名:fucCheckNUM//功能介绍:检查是否为数字//参数说明:要检查的数字//返回值:1为是数字,0为不是数字function fucCheckNUM(NUM){var i,j,strTemp;strTemp="0123456789";if ( NUM.length== 0)return 0for (i=0;i<NUM.length;i++){j=strTemp.indexOf(NUM.charAt(i)); if (j==-1){//说明有字符不是数字return 0;}}//说明是数字return 1;}//函数名:fucCheckTEL//功能介绍:检查是否为电话号码//参数说明:要检查的字符串//返回值:1为是合法,0为不合法function fucCheckTEL(TEL){var i,j,strTemp;strTemp="0123456789-()# ";for (i=0;i<TEL.length;i++){j=strTemp.indexOf(TEL.charAt(i)); if (j==-1){//说明有字符不合法return 0;}}//说明合法return 1;}
//opt1 小数 opt2 负数//当opt2为1时检查num是否是负数//当opt1为1时检查num是否是小数//返回1是正确的,0是错误的function chknbr(num,opt1,opt2){var i=num.length;var staus;//staus用于记录.的个数status=0;if ((opt2!=1) && (num.charAt(0)=='-')){//alert("You have en......
ASP 系列函数大全 (2006-02-22 12:00:00)
摘要: ASP函数大全 ASP函数与VBSCRIPT类似,以下举一些常用的函数 Array() 函数返回一个数组 表达式 Array(list) 允许数据类型: 字符,数字均可 实例: <% Dim myArray() For i = 1 to 7 Redim Preserve myArray(i) myArray(i) = WeekdayName(i) Next %> 返回结果: 建立了一个包含7个元素的数组myArray myArray("Sunday","Monday", ... ... "Saturday") CInt() 函数将一个表达式转化为数字类型 表达式 CInt(expression) 允许数据类型: 任何有效的字符均可 实例: <% f = "234" response.write cINT(f) + 2 %> 返回结果: 236 转化字符"234"为数字"234",如果字符串为空,则返回0值 CreateObject() 函数建立和返回一个已注册的ACTIVEX组件的实例。 表达式 CreateObject(objName) 允许数据类型: objName 是任何一个有效、已注册的ACTIVEX组件的名字. 实例: <% Set con = Server.CreateObject("ADODB.Connection") %> CStr() 函数转化一个表达式为字符串. 表达式 CStr(expression) 允许数据类型: expression 是任何有效的表达式。 实例: <% s = 3 + 2 response.write "The 返回结果 is: " & cStr(s) %> 返回结果: 转化数字“5”为字符“5”。 Date() 函数返回当前系统日期. 表达式 Date() 允许数据类型: None. 实例: <%=Date%> 返回结果: 9/9/00 DateAdd() 函数返回一个被改变了的日期。 表达式 DateAdd(timeinterval,nu......
asp中非常有用的20个例子(2006-02-22 11:59:00)
摘要: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 Then Response.redirect("ForMSIEOnly.htm") Else Response.redirect("ForAll.htm") End If
3.如何计算每天的平均反复访问人数 答:解决方法 < % startdate=DateDiff("d",Now,"01/01/1990") if strdate< 0 then startdate=startdate*-1 avgvpd=Int((usercnt)/startdate) % > 显示结果 < % response.write(avgvpd) % > that is it.this page have been viewed since November 10,1998
4.如何显示随机图象 < % dim p,ppic,dpic ppic=12 randomize p=Int((ppic*rnd)+1) dpic="graphix/randompics/"&p&".gif" % > 显示 < img src="< %=dpic% >" >
5.如何回到先前的页面 答:< a href="< %=request.s......
asp常用代码(2006-02-22 11:58:00)
摘要:1. ASP与Access数据库连接:<%dim conn,mdbfilemdbfile=server.mappath("数据库名称.mdb")set conn=server.createobject("adodb.connection")conn.open "driver={microsoft access driver (*.mdb)};uid=admin;pwd=数据库密码;dbq="&mdbfile%>2. ASP与SQL数据库连接:<%dim connset 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
3. SQL常用命令使用方法:(1) 数据记录筛选:sql="select * from 数据表 where 字段名=字段值 order by 字段名 [desc]"sql="select * from 数据表 where 字段名 like '%字段值%' order by 字段名 [desc]"sql="select top 10 * from 数据表 where 字段名 order by 字段名 [desc]"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 数据表" (将数据表所有记录删除)
(4) 添加数据记录:sql="insert into 数据表 (字段1,......
asp入门经验谈(2006-02-22 11:56:00)
摘要: 一.VBScript语法简介 VBScript语句是一种基于VB的一种脚本语言,主要用于WEB服务器端的程序开发,我们这里只介绍一些简单的语句,主要是操作数据库的几种常见的语句 <1>.vbscript的标识 <% 语句 …… %> <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("\bbs\db1\user.mdb") %> (用来连接bbs\db1\目录下的user.mdb数据库) <2>显示数据库记录 原理:将数据库中的记录一一显示到客户端浏览器,依次读出数据库中的每一条记录 如果是从头到尾:用循环并判断指针是否到末 使用: not rs.eof &nbs......
短信系统,以及多用户留言本数据库设计方案剖析(2006-02-17 12:13:00)
摘要: 作者:baker
众所周知,设计一个优秀站点或计算机应用系统,必须有强大,有效的数据库的支撑.
数据库的设计一般要符合三大范式,即 :第一范式(1NF):数据库表中的字段都是单一属性的,不可再分.第二范式(2NF):数据库表中不存在非关键字段对任一候选关键字段的部分函数依赖(部分函数依赖指的是存在组合关键字中的某些字段决定非关键字段的情况),也即所有非关键字段都完全依赖于任意一组候选关键字。第三范式(3NF):在第二范式的基础上,数据表中如果不存在非关键字段对任一候选关键字段的传递函数依赖则符合第三范式。所谓传递函数依赖,指的是如果存在"A → B → C"的决定关系,则C传递函数依赖于A。因此,满足第三范式的数据库表应该不存在如下依赖关系: 关键字段 → 非关键字段x → 非关键字段y [见上面一篇]http://blog.programfan.com/article.asp?id=10192
分析:一个短信系统包含:用户信息,好友信息,和短信信息.
1.用户信息包含:用户ID,用户名称,用户其他信息....
2.好友信息包含:好友ID,好友名称,其他信息....
3.短信<留言信息>包含:短信ID,短信发送者,短信接收者,短信标题,短信内容,发送时间,是否已读..... 回复ID,发送者,接收者,标题,内容,回复时间,是否已读...... 二.尝试:只建立一个表.包含如上信息.数据表中信息无包含关系,符合第一范式[1NF]. 假定短信发送表sendmsg[用户,接收用户,短信内容,用户信息,......
数据库设计范式解析(2006-02-17 10:42:00)
摘要:引言 数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入(insert)、删除(delete)和更新(update)操作异常。反之则是乱七八糟,不仅给数据库的编程人员制造麻烦,而且面目可憎,可能存储了大量不需要的冗余信息。 设计范式是不是很难懂呢?非也,大学教材上给我们一堆数学公式我们当然看不懂,也记不住。所以我们很多人就根本不按照范式来设计数据库。 实质上,设计范式用很形象、很简洁的话语就能说清楚,道明白。本文将对范式进行通俗地说明,并以笔者曾经设计的一个简单论坛的数据库为例来讲解怎样将这些范式应用于实际工程。 范式说明 第一范式(1NF):数据库表中的字段都是单一属性的,不可再分。这个单一属性由基本类型构成,包括整型、实数、字符型、逻辑型、日期型等。 例如,如下的数据库表是符合第一范式的:
字段1
字段2
字段3
字段4
而这样的数据库表是不符合第一范式的:
字段1
字段2
字段3
字段4
字段3.1
字段3.2
很显然,在当前的任何关系数据库管理系统(DBMS)中,傻瓜也不可能做出不符合第一范式的数据库,因为这些DBMS不允许你把数据库表的一列再分成二列或多列。因此,你想在现有的DBMS中设计出不符合第一范式的数据库都是不可能的。 第二范式(2NF):数据库表中不存在非关键字段对任一候选关键字段的部分函数依赖(部分函数依赖指的是存在组合关键字中的某些字段决定非关键字段的情况),也即所有非关键字段都完全依赖于任意一组候选关键字。 假定选课关系表为SelectCourse(学号, 姓名, 年龄, 课程名称, 成绩, 学分),关键字为组合关键字(学号, 课程名称),因为存在如下决定关系: (学号, 课程名称) → (姓名, 年龄, 成绩, 学分) 这个数据库表不满足第二范式,因为存在如下决定关系: (课程名称) → (学分) (学号) → (姓名, 年龄) 即存在组合关键字中的字段决定非关键字的情况。 由于不符合2NF,这个选课关系表会存在如下问题: (1) 数据冗余......
