博文

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......

阅读全文(2326) | 评论:0

MFC入门<4>: 消息映射(2006-02-20 16:54:00)

摘要: 引用:http://www.czvc.com/tech/MFCJMJC/mfc.html  应用程序放在窗口中的任何用户界面对象都具有两种可控制的特性:1) 它的外观,2) 它响应事件的行为。在上一讲中,你已经学习了CStatic控制和如何使用样式属性来定制用户界面对象的外观。这些概念可用于MFC中的所有不同控制类。  在本讲中,我们将介绍CButton控制,以理解消息映射和简单的事件处理。然后还要介绍使用CScrollBar控制的稍微复杂点的例子。  理解消息映射  在第二讲中,MFC程序不包括主要函数或时间循环。所有的事件处理都是作为CWinApp的一部分在后台处理的。因为它们是隐藏的,所以我们需要一种方法来告诉不可见的时间循环通告我们应用程序所感兴趣的事件。这需要一种叫做消息映射的机制。消息映射识别感兴趣的事件然后调用函数来响应这些事件。  例如,如果你要编写一个程序,当用户按下标有“退出”的按钮时要退出应用程序。在程序中,你编写代码来建立按钮:你指示按钮应如何动作。然后,为其父窗口建立用户单击按钮时的消息映射,它试图要传递消息给其父窗口。为了建立父窗口的消息,你要建立截取消息映射的机制,并且使用按钮的消息。当一指定的按钮事件发生时,消息映射会请求MFC调用一指定的函数。在这种情况下,单击退出按钮就是所感兴趣的事件。然后你把退出应用程序的代码放到指定的函数中。  其它的工作就由MFC来做了。当程序执行时,用户单击“退出”按钮时,按钮就会自己加亮。然后MFC自动调用相应的函数,并且程序会终止。只使用很少的几行代码你就响应了用户事件。  CButton类  在上一讲中所讨论的CStatic控制是唯一不响应用户时间的控制。Windows中所有的其它控制都可响应用户事件。第一,当用户处理它们时,它们会自动更新其外观(例如,当用户单击按钮时,按钮会自己加亮以给用户一个反馈)。第二,每个不同的控制都要发送信息给你的代码以使程序能响应用户的需要。例如,当单击按钮时,按钮就会发送一个命令消息。如果你编写代码接收消息,则你的代码就能响应用户事件。  为了理解这个过程,我们从CButton控制开始。下面的代码说明了建立按钮的过程:  // button1.cpp  #include   #define IDB_BUTTON 100  // Declare the applic......

阅读全文(3242) | 评论:0

MFC入门<3>:MFC样式(2006-02-20 16:52:00)

摘要:引用:http://www.czvc.com/tech/MFCJMJC/mfc.html   控制是用来建立Windows应用程序用户界面的用户界面对象。你所见到的大部分Windows应用程序和对话框只不过是由一些控制所组成的、用来实现程序功能的东西。为了建立有效的应用程序,你必须完全理解在Windows应用程序中应该如何合理的使用控制。有六个基本的控制:CStatic、CButton、CEdit、CList、CComboBox和CScrollBar。另外,Windows 95又增加了15增强了的控制。你需要理解的是那个控制能做些什么、你应该如何控制它的外表和行为以及如何让控制能响应用户事件。只要掌握了这些,再加上掌握了菜单和对话框,你就可以建立你所想象的任何Windows应用程序。你可以象本教程这样用程序代码来建立控制,也可以使用资源编辑器通过资源文件来建立。当然,对话框编辑器更方便些,它对于已经基本掌握了控制的情况下特别有用。  最简单的控制是CStatic, 它是用来显示静态文本的。CStatic类没有任何数据成员,它只有少量的成员函数:构造函数、Create函数(用于获取和设置静态控制上的图标)等等。它不响应用户事件。因为它的简单性,所以最好把它作为学习Windows控制的开端。  在本讲中,我们从CStatic着手,看一下如何修改和定制控制。在下一讲中,我们将学习CButton和CScrollBar类,以理解事件处理的概念。一旦你理解和掌握了所有控制极其类,你就可以建立完整的应用程序了。  基 础  MFC中的CStatic类是用来显示静态文本信息的。这些信息能够可以作为纯信息(例如,显示在信息对话框中的错误消息), 或作为小的标签等。在Windows应用程序的文件打开对话框中,你会发现有六个这样的标签。  CStatic控制还有几种其它的显示格式。你可以通过修改标签的样式来使它表现为矩形、边框或图标等。  CStatic控制总是作为子窗口的形式出现的。典型情况下,其父窗口是应用程序的主窗口或对话框。正如上一讲所介绍的,你用两行代码就可以建立一个静态控制:  CStatic *cs;   ...   cs = new CStatic();   cs->Create("hello world",   WS_CHILD|WS_VISIBLE|SS_CE......

阅读全文(2855) | 评论:0

MFC入门<2>:一个简单的MFC程序(2006-02-20 16:50:00)

摘要: 引用:http://www.czvc.com/tech/MFCJMJC/mfc.html  在本将中,我们将一段一段地来研究上一将中提到的 MFC 应用程序,以便能理解它的结构和概念框架。我们将先介绍 MFC,然后在介绍如何用 MFC 来建立应用程序。  MFC简介  MFC 是一个很大的、扩展了的 C++ 类层次结构,它能使开发 Windows 应用程序变得更加容易。MFC 是在整个 Windows 家族中都是兼容的,也就是说,无论是 Windows3.x、Windows95 还是 Windows NT,所使用的 MFC 是兼容的。每当新的 Windows 版本出现时,MFC 也会得到修改以便使旧的编译器和代码能在新的系统中工作。MFC 也回得到扩展,添加新的特性、变得更加容易建立应用程序。  与传统上使用 C 语言直接访问 Windows API相反,使用 MFC 和 C++ 的优点是 MFC 已经包含和压缩了所有标准的“样板文件”代码,这些代码是所有用 C 编写的 Windows 程序所必需的。因此用 MFC 编写的程序要比用C语言编写的程序小得多。另外,MFC 所编写的程序的性能也毫无损失。必要时,你也可以直接调用标准 C 函数,因为 MFC 不修改也不隐藏 Windows 程序的基本结构。  使用 MFC 的最大优点是它为你做了所有最难做的事。MFC 中包含了上成千上万行正确、优化和功能强大的 Windows 代码。你所调用的很多成员函数完成了你自己可能很难完成的工作。从这点上将,MFC 极大地加快了你的程序开发速度。  MFC 是很庞大的。例如,版本4.0中包含了大约200个不同的类。万幸的是,你在典型的程序中不需要使用所有的函数。事实上,你可能只需要使用其中的十多个 MFC 中的不同类就可以建立一个非常漂亮的程序。该层次结构大约可分为几种不同的类型的类:  应用程序框架   图形绘制的绘制对象   文件服务   异常处理   结构 - List、Array 和 Map   Internet 服务   OLE 2   数据库   通用类   在本教程中,我们将集中讨论可视对象。下面的列表给出了部分类:  CObject   CCmdTarget   CWinThread   CWinApp   CWnd   CFrameWnd   CDialog  ......

阅读全文(3467) | 评论:0

MFC入门<1>:MFC导论(2006-02-20 16:48:00)

摘要: 引用:http://www.czvc.com/tech/MFCJMJC/mfc.html    Visual C++ 不仅仅是一个编译器。它是一个全面的应用程序开发环境,使用它你充分利用具有面向对象特性的 C++ 来开发出专业级的 Windows 应用程序。为了能充分利用这些特性,你必须理解 C++ 程序设计语言。掌握了C++,你就必须掌握 Microsoft 基本类库 (MFC) 的层次结构。该层次 结构包容了 Windows API 中的用户界面部分,并使你能够很容易地以面向对象的方式建立 Windows 应用程序。这种层次结构适用于所有版本的 Windows 并彼此兼容。你用 MFC 所建立的代码是完全可移植的。  该教程将向你介绍MFC的基本概念和术语以及事件驱动程序设计方法。在本节中,你将会输入、编译和运行一个简单的MFC程序。下一节中将向你详细解释这些代码。第三部分讨论了MFC控制和如何定制它们。第四部分将介绍消息映射,你将会处理MFC的事件。  什么是MFC?  如果你要建立一个 Windows 应用程序,应该如何下手?  好的开端是从设计用户界面开始。首先,你要决定什么样的用户能使用该程序并根据需要来设置相应的用户界面对象。Windows 用户界面有一些标准的控制,如按钮、菜单、滚动条和列表等,这对那些 Windows 用户已经是很熟悉了。 要记住的是,作为程序员必须选择一组控制并决定如何把它们安排到屏幕上。传统上,你需要在纸上做一下用户界面的草图,直到对各元素感到满意为止。这对于一些比较小的项目,以及一些大项目的早期原型阶段是可以的。  下一步,是要实现代码。为任何 Windows 平台建立应用程序时,程序员都有两种选择:C 或 C++。 使用 C,程序员是在 Windows 应用程序界面 ( API ) 的水平上编写代码。该界面是由几百个 C 函数所组成,这些函数在Windows API 参考手册中都有介绍。对于Windows NT, API 被称为 “Win32 API”,以区别于其用于Windows 3.1的16位 API。  Microsoft 也提供了 C++ 库,它位于任何 Windows API 之上,能够使程序员的工作更容易。它就是Microsoft基本类库 (MFC),该库的主要优点是效率高。它减少了大量在建立 W......

阅读全文(2720) | 评论:0

短信系统,以及多用户留言本数据库设计方案剖析(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[用户,接收用户,短信内容,用户信息,......

阅读全文(4124) | 评论:0

数据库设计范式解析(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) 数据冗余......

阅读全文(2418) | 评论:0

河南人惹谁了?(2006-02-17 10:00:00)

摘要:一、河南人被丑化了    段子是时下“口舌文化”的主体,在中国传统的曲艺类辞典里,能够独立成篇的说唱文学作品被称为段子。众多的国人眼下正以先锋派画家的天赋,用扫帚、拖把、竹棍,甚至头发为笔,汪洋恣意地以不同的构图和色彩在涂抹着河南人的画像,然后将其装在“段子”这样的包装里。我曾感慨于日本人的想像力,一部系列电视剧《奥特曼》塑造了上百个模样、习性、本领不同的危害地球人的怪兽形象,使得中国的孩子们被震颤得找不着北,而今天领教了大型系列笑话《段子里的河南人》——就其制作、演播队伍据说可以载入吉尼斯纪录——后,方才知道谁是“真佛”。       “河南人的‘仿真’导弹让西方人真假难辨……”    不久前,笔者曾陪同孙中山先生的孙子、孙女到武汉参观打捞出水的中山舰。陈列在湖北造船厂的这艘“功臣舰”曾伴随孙中山先生参加了平息陈炯明叛乱和护法战争,30年代末期在抗击日本侵略中被炸沉于长江。此舰原本与河南人没有什么瓜葛,但在修补过程中需要的五门仿真炮却是产自于河南。当我心中自豪之情刚刚泛起时,同行的一位“九头鸟”于谈笑间给了我一记当头棒喝:你们河南的“仿真”技术真是不错。    不过我还是从心底里感激他,言语间没有直接用“河南人造假技术不错”的说法。在今天国人的心目中,河南与河南人已成了造假的“圣地”与“圣人”,有民谣为证:“十个河南人九个假,还有一个是盲聋哑”。    河南人造假在段子里的典型体现是两则笑话。    其一说:某中东国家得到西方大国支援的十枚新式导弹,一小国从这个中东国家买来一枚用于研究,而那个西方国家听到风声后害怕“武器扩散”,就派专家组前往中东查实,这个小国需要赶快送回导弹应付调查,但导弹在研究时拆开后再也组装不起来,搞得这个小国人焦头烂额,不知所措,情急之中,一见多识广的大臣献计说,据传中国河南人造假——也就是仿真技术了得,派人前去求助,定能化解此难。果然是河南人最后帮了这个小国的忙,三天之内与真导弹一模一样的东西被运到中东国家摆在了西方大国专家的眼前,假导弹不仅骗过了专家们的眼睛和仪器,还瞒过了这个中东国家,没多久,就又还回一枚真的导弹。    其二说:河南某著名企业家到京参加群英......

阅读全文(4034) | 评论:17

中国电子商务之现状(2006-02-15 21:02:00)

摘要:CII中国电子商务指数报告,提出了一个电子商务的无量纲的总指数。由于是第一年,它只能作为一个基数,还无法进行年度间发展水平的比较。因此,我们更关注的,是以这个总指数为水平线,观察其构成要素间的相对关系。看当前中国新经济的微观发展中,哪些是“加分”因素,哪些是“减分”因素。   从上述表图看,中国当前电子商务发展十分不平衡,呈现为一个倾斜的天秤:效益指数、人力资本指数、政策环境指数和交易指数依次将天秤向非赢利的方向下压;安全指数、发展潜力指数、基础设施指数和满意度指数依次将天秤向赢利的方向上抬。   倾斜的赢利天秤:平衡式两边——效益只发挥了15%,成本高了15倍   电子商务要想赢利,抛开企业微观的种种计算,从大面上说,可以视为上网收益与上网成本之间的平衡式。上网总收益大于上网总成本,即为赢利;上网总收益小于上网总成本,即为亏损。   为了分析方便,我们将上网收益,简化为节省费用,即电子商务比传统商务节省的交易费用;将上网成本从用户端简化为用户端的上网费用。因此有以下电子商务公式(以下简称“电商公式”):   上网收益(节省费用)=上网成本(上网费用)   其中,上网收益=总交易量X效益水平;上网成本=上网人数X资费价格   当前中国电子商务的核心问题一目了然,是:   总交易量X效益水平≠资费水平X上网人数   第一笔账:上网资费   目前上网人数已知为1690万。7月27日公布的CNNIC调查有个项目,叫“用户每月能容忍的上网的费用”。我们可以作为上网资费水平的参照。   其中答100元的为34.08%,200元的为35.64%,300元的为18.06%。就是说,只要降300元,就可以有效增加87.78%的用户。调查时中国上网用户1690万,它的87.78%就是1483.482万。这300元,是多少钱?按现有上网规模套,从200元到100元对应575.952万用户,5.75952亿资金。300元到200元,对应602.316万用户,6.02316亿资金;400元到300元对应305.214万用户,3.05214亿资金。加起来,这一部分上网资费是每月14.8亿元,按年算则为178亿元。   按87.78%的用户每人每月付出100元上网费用于电子商务计算,一年就是178亿元。这178亿元付出作为成本,至少要获得178亿元的回报,才能平衡。根......

阅读全文(3917) | 评论:0