风雪来临...

用随笔文字抒写程序人生...

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  22 随笔 :: 0 文章 :: 29 评论 :: 0 引用

公告

2006年2月17日 #

一个中学生观看《霍元甲》后的作文
    
     ——《霍元甲》唤起国人逝去的曾经
    
    
    
     新街口灯火阑珊依旧,过年将近,路人行色匆匆,老师说,今天我们要看一部震撼心灵的巨片,于是我们又来到了德基广场7楼国际影城。人很多,原来,今天放映的是李连杰的封山之作——《霍元甲》。
    
     霍元甲我知道,那是条汉子,铮铮的铁汉,80年代的时候,在爸爸还年轻的时候,霍元甲的故事就影响了一代人。看着海报上李连杰那张有点变老的脸,莫名的一种对霍元甲的敬意油然而生。
    
     9号厅,还是上次放映《金刚》的大厅,影片一开始就把我们拉进了时光的隧道,我们来到了清朝末年的擂台上,4个外国人,虎视眈眈的看着霍元甲,刀光剑影之后,三局胜出的依旧是霍元甲。
    
     这时候,鲜红的霍元甲三个字把我们带到了仍然是那个年代的清朝,年少的霍元甲也是一个天真可爱的小朋友,他也不爱学习文化知识,作业还让别人帮忙写,受到家庭的影响和熏陶,迷恋上了武术。可是,和现在望子成龙的父母一样,霍元甲的爸爸也希望儿子读书考试取得功名,而不是整天的打打杀杀。事与愿违,和天下所有的小男孩一样,霍元甲也想成为最好的,但当他被小伙伴赵健踩在脚下的那一刻起,他的命运就从此不同。
    
     古语云:物极必反。霍元甲终于站在了最高的擂台上,他的敌人就是赵健,赵家拳其实早就输在了霍元甲爹爹的手上,这次,霍元甲再次证明了这一点。津门第一,霍元甲站到了擂台最高的位置,家里挂满墙的生死状说明了这一切。
    
     一切的一切,来的快,去的也快,当霍元甲手捧心爱女儿尸体的那一刻起,这一切便消失了。学好功夫就是为了打打杀杀么?秦爷的死造成了终生的错,一切的一切就是为了津门第一?霍元甲的知心好友农劲荪之前的一段话让霍元甲思考了七年。
    
     七年,人生能有几个七年?7年间,月慈姑娘的悉心照料下,与世无争的农村生活,温厚善良的村民令万念俱灰的元甲渐忘伤痛及仇恨,生命正慢慢复苏,霍元甲终于思考了自己的人生路,原来,武术并不是只为了自己。
    
     王者归来,来的那么平静。天津已经物事人非,侵略者的军队竟然可以在我泱泱大国的土地上横行,印度的、英国的、日本的、俄罗斯的……巍巍中华变成了“东亚病夫”?俄国大力士在上海这块中国的土地上连伤我数十名国人,那个蹩脚翻译也显然成了帮凶之一。看擂台的人还是那么多,在这里,我想到了鲁迅,终于读懂了鲁迅先生当年求医强国看到国人看砍头麻木不仁后毅然弃医从文,用笔做武器唤醒国人的慷愤之举。
    
     怒在心头,怒在爆发,良知,大家的良知哪儿去了?
    
     连一个小小的酒店老板农劲荪都知道被别国欺负了,不能只为自己,我们要为这个民族做点什么。难道除了看热闹之外,我们就什么都没有了么?
    
     现代人厚重的防盗门彻底锁住了我们的心灵,多少前辈换来当今的生活就是为了让人们互相在这个社会上继续的漠视?有人落水了,看热闹让他而亡?看到见义勇为的勇士手上看热闹让他死去?见到别人做点好事就大笑傻瓜?热闹天天有的看,而我们却失去了魂,中华民族自强不息的精气神。
    
     霍元甲最终含冤战死擂台,我不忍心去描述他那悲壮的一刻。对于日本鬼子那种卑劣的行径我早以无法愤怒。他死了。但是,那种精神却留下了。
    
     霍元甲用死在呼唤我们的心灵,中国人应该自强不息。人人为我,我为人人,我们从那段屈辱历史走来的华人在当今这个世界,我们除了钱和安逸的生活,我们该做点什么?
    
     君不见小小倭国虎视眈眈我台湾、钓鱼岛、东海石油?君不见南海群岛尚未收复?君不见霸权主义干涉我内政?君不见……
    
     君不见多少恶官贪污腐败?君不见山区多少失学儿童无学可上?君不见新街口多少小偷猖狂?君不见随手扔出的垃圾可以堆积成山?君不见……
    
     朋友们,惊醒吧。如果有一天,历史再次重演,你会选择什么?
    
    醉里挑灯看剑,
    
    梦回吹角连营。
    
    八百里分麾下炙,
    
    五十弦翻塞外声,
    
    沙场秋点兵。
    
    马作的卢飞快,
    
    弓如霹雳弦惊。
    
    了却君王天下事,
    
    赢得生前身后名。
    
    可怜白发生!

posted @ 2006-02-17 15:20 David.C 阅读(587) 评论(6) 编辑

2005年11月12日 #

ASP.net 验证码(C#)
作者:未知 时间:2005-07-27 21:53 出处:CSDN 责编:chinaitpower
              摘要:ASP.net 验证码(C#)

/* Copyright all(c) 2005 ZhongFeng, http://blog.csdn.net/SW515 */
 public class ValidateCode : System.Web.UI.Page
 {
  private void Page_Load(object sender, System.EventArgs e)
  {
   this.CreateCheckCodeImage(GenerateCheckCode());
  }

  #region web 窗体设计器生成的代码
  override protected void OnInit(EventArgs e)
  {
   //
   // CODEGEN: 该调用是 asp" href="http://blog.csdn.net/hanghwp" >asp.NET web 窗体设计器所必需的。
   //

   InitializeComponent();
   base.OnInit(e);
  }
  
  /// <summary>
  /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  /// 此方法的内容。
  /// </summary>

  private void InitializeComponent()
  {   
   this.Load += new System.EventHandler(this.Page_Load);
  }
  #endregion

  private string GenerateCheckCode()
  {
   int number;
   char code;
   string checkCode = String.Empty;

   System.Random random = new Random();

   for(int i=0; i<5; i++)
   {
    number = random.Next();

    if(number % 2 == 0)
     code = (char)('0' + (char)(number % 10));
    else
     code = (char)('A' + (char)(number % 26));

    checkCode += code.ToString();
   }

   Response.Cookies.Add(new HttpCookie("CheckCode", checkCode));

   return checkCode;
  }

  private void CreateCheckCodeImage(string checkCode)
  {
   if(checkCode == null || checkCode.Trim() == String.Empty)
    return;

   System.Drawing.Bitmap image = new System.Drawing.Bitmap((int)Math.Ceiling((checkCode.Length * 12.5)), 22);
   Graphics g = Graphics.FromImage(image);

   try
   {
    //生成随机生成器
    Random random = new Random();

    //清空图片背景色
    g.Clear(Color.White);

    //画图片的背景噪音线
    for(int i=0; i<25; i++)
    {
     int x1 = random.Next(image.Width);
     int x2 = random.Next(image.Width);
     int y1 = random.Next(image.Height);
     int y2 = random.Next(image.Height);

     g.DrawLine(new Pen(Color.Silver), x1, y1, x2, y2);
    }

    Font font = new System.Drawing.Font("Arial", 12, (System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic));
    System.Drawing.Drawing2D.LinearGradientBrush brush = new System.Drawing.Drawing2D.LinearGradientBrush(new Rectangle(0, 0, image.Width, image.Height), Color.Blue, Color.DarkRed, 1.2f, true);
    g.DrawString(checkCode, font, brush, 2, 2);

    //画图片的前景噪音点
    for(int i=0; i<100; i++)
    {
     int x = random.Next(image.Width);
     int y = random.Next(image.Height);

     image.SetPixel(x, y, Color.FromArgb(random.Next()));
    }

    //画图片的边框线
    g.DrawRectangle(new Pen(Color.Silver), 0, 0, image.Width - 1, image.Height - 1);

    System.IO.MemoryStream ms = new System.IO.MemoryStream();
    image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
    Response.ClearContent();
    Response.ContentType = "image/Gif";
    Response.BinaryWrite(ms.ToArray());
   }
   finally
   {
    g.Dispose();
    image.Dispose();
   }
  }
 }

posted @ 2005-11-12 20:49 David.C 阅读(611) 评论(2) 编辑

摘要: .net笔试题 原文:http://elwin.blogchina.com/blog/article_84602.1080323.html 姓名: 日期: 1. 填空: (1)面向对象的语言具有________性、_________性、________性。 (2)能用foreach遍历访问的对象需要实现 ________________接口或声明________________方法的类型。 (3)...阅读全文
posted @ 2005-11-12 11:36 David.C 阅读(2260) 评论(0) 编辑

2005年11月10日 #

office应用小技巧 正确显示出Word中的空格


在文档中使用空格是再平常不过的事情了,但是,如果空格显示为小黑点而挥之不去,却是一件很丢面子的事情,尤其显示给学生们时。

采用“常用工具栏”中的“显示/隐藏编辑标记”,把这些小黑点隐藏起来,还空格以本来面目。但笔者认为这种方法仍有不足之处:

首先,“编辑标记”不只“空格”一种。点击Word上方的“工具→选项→视图”(请见附图)。图中的“格式标记”都是“编辑标记”,除空格之外还有制表符、隐藏文字、可选分隔符、可选连字符、段落标记。王老师的方法不能进行选择性隐藏,即在空格不显示为小点的同时,段落标记等其他“编辑标记”也同时看不到了,这不一定都是我们所希望的。

其次,采用这种方法,并不能保证每次都能把这些小黑点隐藏成功。如果“空格”之前有“√”,则无论点击“显示/隐藏编辑标记”多少次,这些小黑点都不能被隐藏。

因此笔者认为:

第一,如果文档中需要把空格显示为小黑点,可选中“空格”前的“√”;

第二,如果不需显示这些小黑点,应把“空格”之前的“√”去掉;如果这些小黑点依然存在,点击“常用工具栏”中的“显示/隐藏编辑标记”即可。如果再点击一次,这些小黑点可重新显示。

来源:中国电脑教育报

posted @ 2005-11-10 14:14 David.C 阅读(921) 评论(3) 编辑

仓库管理系统解决方案

Solution for Warehouse Management System

一、系统概述及解决方案(System Introduce and Solution)

      本系统方案是针对中小型公司、企业或大型公司的仓库或配送中心而设计的,以期帮助企业的仓库和物流中心更快、更好、更敏捷地面对当前新经济的诸多挑战。该系统可以在各类企业的仓库、物流、电子实施、第三方物流及制造部门中运行。

这套仓库管理系统软件在功能性方面做了适当的融和,以确保用户的投资得到最大限度的回报,同时消除了实际操作中一些不必要的繁琐过程,是一个基于客户机/服务器模式的仓库管理系统,对不同的客户不需要特别的定制安装。系统采用了无线实时处理技术,规范管理操作人员完成作业,从收货到发货全程控制管理物流的各个环节,从而提高企业的生产力和物流效率,改善客户服务质量。同时,通过系统提供的可由用户自行配置的系统参数定制出符合用户特殊需求的应用软件。

     软件在包含了一般仓库管理软件所拥有的功能外,另增加了针对组装作业所需的强大功能,管理系统解决了在实际的企业运作过程中产品对组装配套材料的繁琐、复杂的核算工作

需求一:当接到客户订单或下达生产任务时应能随时提供所需产品的库存量及现在的材料库存所能生产的产品数量  

解决一:

传统的解决方案:运用人工的计算方法需要先根据产品的包装清单逐个列出计算,当要计算多种产品,中间又嵌套半成品时将是件非常繁琐的事,并且很难做到准确、及时的核算,并还要核对库存最后才能得出库存报表

仓库管理系统的解决方案:运用管理系统可以将所有的需求信息一次录入,系统马上就能为您提供一张详细的库存报表,并能最终给出原材料的欠缺情况,让你一目了然,并能根据生产任务产生仓库的领料需求量从而可以由仓库管理员控制员工的领料数量,达到仓库的科学化管理。     

需求二:生产过程中的开领料单、出入库单

解决二:

传统的解决方案:运用以往的做法领一套机器(或一个工序的所需产品)需把所有的零部件逐个列出缺点:费时,工作效率低,开单人需非常了解机器(或工序)的所需产品清单容易出错

仓库管理系统的解决方案:运用管理系统可以根据设好的一套机器(或工序)的所需产品的数量,在开领料单或出入库单时只需输入机器(或工序)以及数量即可,系统将自动列出产品清单及所需数量

        优点:开单速度快,大大提高了工作效率,不会出现漏开单、开错单的情况

需     需求三:当外设部门或外派人员想随时了解个业的库存量

解     解决三:

传统的解决方案:运用以往的做法是外派人员通过电话或传真向公司查询

缺点:了解到的只是一个静态数据,不能实时掌据库存动态,当产品规格种类多时查询起来费用高,麻烦,不能随意查询           

仓库管理系统的解决方案:运用管理系统可以随时将库存信息传入远程服务器,外派人员如需查询产品库存量只需连上互联网就能随时随地了解所有产品库存的最新动态 

优点:可实时掌握库存最新动态,可以查询任何产品或设置条件查询部分产品,查询方便(只要能上网就可随时查询),费用低廉

二、系统结构(System Structure)

 

 

 

 

 

 

 

 

 

 

 

三、系统主要模块(System Modules):

·基本资料:

  物料信息

  产品信息

 客户信息

 供应商信息

 类别信息

 仓库定义

·仓库管理:

 入库(收货、退货给供应商、上货架)

 出库(拣货、包装、发货、客户退货)

 仓库(盘点、调拨、移库)

·系统维护:

 操作员设置

 密码设置

 数据备份

·查询、统计、报表:

 管理报表

 库存动态查询/明细表

 各种单据的查询、统计、报表生成

·其它

 条码标签打印

 终端程序接口

四、系统效益(System Efficiency)

  • 无纸化的操作,减少纸张的开销

  • 条码识别的正确性高,减少人为的错误输入

  • 增加库存的准确率

  • 快速、高效的物流环节

  • 有效的库存空间利用,降低营运成本

  • 各种当前和历史事务的统计报表为决策者提供准确、有用的信息

  • 数据交换接口的连通,增强企业现有应用系统的管理

  • 有效的库存管理和控制(Just-in-time - JIT),减少额外的采购,同时保证库存量满足客户订货或生产计划的需要

  • 记录工作人员完成工作所花费的时间,掌握员工的工作效率,增强对员工的管理

  • 建成后的仓库管理系统,将使得企业仓库的管理工作跨上一个新的台阶,将为生产部门的指挥决策提供更有价值、更具时效性的分析数据。

  • 将单据所需的大量纸张文字信息转换成电子数据,简化了日后的查询步骤,  工作人员不用再手工翻阅查找各种登记册和单据本,只需输入查询条件,计算机在很短的时间内就会查到所需记录,并将内容显示在屏幕上,大大加快了查询速度。提高生产数据统计的速度和准确性,减轻汇总统计人员的工作难度。

posted @ 2005-11-10 09:04 David.C 阅读(3510) 评论(4) 编辑

一、管理信息系统在餐饮业发展简介

    随着人们步入信息时代的脚步,餐饮业也逐步走向信息化处理的模式:从全手工经营方式,到手工操作和计算机管理并存的半手工经营方式,最终步入全信息化经营方式。

 

1、全手工经营方式:

工作流程如下:

点菜:服务员手工填写菜单,一般为三联,一联交总台结帐用,一联交厨房下单,一联留在餐桌核对上菜情况。

加菜:服务员就需要重新填写一份菜单,再送到总台和厨房。

结帐:总台手工计算帐单,服务员到总台取结帐单给客人核对,再替客人去总台结帐,取回找零。

分析:服务员在餐桌、总台和厨房之间的跑单频繁,在小型餐厅还可以应付,如果餐厅大点,由餐厅的服务效率造成的顾客就餐时间的延长,减少餐桌的翻桌率,直接导致餐厅的效益。

 

2、半手工经营方式

工作流程如下:

点菜:服务员手工填写菜单,交给总台,由总台的服务员将菜单输入微机,再打印出两联或三联菜单,一联交厨房下单,一联给餐桌核对上菜情况。

加菜:服务员就需要重新填写一份菜单,再送到总台输入微机。

结帐:总台通过微机计算帐单,打印出明细帐单,服务员到总台取结帐单给客人核对,再替客人去总台结帐,取回找零。

分析:该方式的优点是,可对餐厅的营业状况进行数据统计,并可进行数据分析,改善餐厅的采购计划和库存状况;但服务员的工作量没有减少,反而增加了一道工序,没有从根本上解决营业状况。

 

3、全信息化经营方式

工作流程如下:

点菜:服务员使用手持点菜器(P115)点菜,就近使用瘦客户机(P515)传输菜单到服务器的数据库中,厨房自动打印菜单,厨师收到菜单就做菜,并且在出菜口使用条码扫描器快速划菜,总台可随时查看最新菜单;

加菜:服务员重复点菜的工作;

结帐:服务员通过瘦客户机(P515)随时可查询、打印某桌顾客的帐单;通知总台来人结帐。

       分析:这种方式从本质上解决了管理信息系统在餐饮业的瓶颈问题,从点菜、传菜、厨房打印、出菜到查询打印、结帐,

            整个流程无重复、多余工作,效率高。

 

在信息飞速发展当今社会,各行各业都采用计算机管理信息系统,如金融、电力、铁路等都使用了计算机管理信息系统,就连商场、超市都使用了POS终端,唯独餐饮业停滞不前,其根本原因在哪里?

 

答案是:现有的信息管理系统不能从根本上改善餐饮业的经营效率。换句话就是,餐厅使用信息管理系统和不使用没有太大的差别,或者说餐厅投资建设信息管理系统没有起到投资的效果。金融、电力、铁路这些行业使用计算机管理信息系统提高了效率,增加了竞争力;商场使用POS终端实现了现代化的管理。所以要将餐饮业带入快速发展的信息管理时代,就必须有提高效率,改善管理的完整的解决方案。

二、系统组成

    该系统在包含以下几个部分,包括:预定、前台接待发卡、P115手持点菜、瘦客户机实时通讯、厨房分单打印、结帐和财务报表统计七个模块。如图1

、系统特点 

1、  科学管理、结构严谨、高效经营,涉及餐饮运营的整个过程。整个方案考虑了餐饮运营的整个过程,合理的设计了餐饮运营的科学管理模式,规范各个岗位的服务员,明确每个服务员的责能范围;将服务员跑单造成的时间浪费减到最少,提高服务效率,使有限的餐桌创造出最高价值;

2、手持点菜器(P115)简单易学、方便实用。点菜器(P110)使用全中文国家二级汉字库全中文显示,服务员只需认识汉字就会操作;操作简便,提供快速编码查找菜谱;速度快,服务员在使用一、两周后,就能够做到熟练操作,并能够超过手工开单;

3、瘦客户机(P515)操作简单、功能强大,运用灵活。瘦客户机(P510)使用全中文国家二级汉字库全中文显示,服务员只需认识汉字就会操作;使用485网络代替服务员走动,减少人员开销,节约营业成本;数据安全稳定,所有数据在传输过程中都经过加密处理;可连接各种并口打印机,给客户有更大的选择余地;可代替台式微机(PC)实现结帐、查询、打印,甚至发卡等多种功能。

4、厨房分单打印功能,合理分工,规范管理。厨房分单打印功能对厨师、杂工进行合理分工,统一安排任务,并可根据厨师长的要求进行调整;每个厨师相对专业,能够创出品牌或特色菜,提高酒店的竞争力;

5、条码扫描器划菜快速、准确、简便的完成划菜工作。条码扫描器划菜使原本很繁杂的工作,准确的让人工查找菜单的工作实现自动化,并能够实现100%无失误的工作。

   查询功能方便快速、节约成本。当客人要求打印、查询详细菜单或帐单时,服务员不需要来回走动,只需到就近的瘦客户机上打印,减少了人员开销。

posted @ 2005-11-10 09:00 David.C 阅读(3192) 评论(6) 编辑

餐饮服务案例的分析的基本要求是:
第一、案例选自饭店服务过程中常见、突发与疑难事例,具有代表性;
第二、案例的分析与疑难问题的处理,经过饭店实践证明是行这有效的,具有实用性;
第三、案例问题的分析处理过程中较好地体现了原则性与灵活性的统一,具有技巧性。

预订案例分析

    案例:
    刘小姐是北京某四星级饭店粤菜餐厅的预定员,星期一她接到某旅行社的电话预订,要求安排120位美国客人的晚餐,每人餐费标准40元,酒水5元;其中有5人吃素。时间定在星期五晚6时,付帐方式是由导游员签帐单(某些饭店与一些旅行社有合同,可收取旅行社的餐饮结算单,定期结帐)。刘小姐将预订人姓名、联系电话、客人人数、旅游团代号、导游员姓名、宾客的特殊要求等一一记录在预订簿上。
    星期五晚6时该旅游团没有到达。此前刘小姐曾与旅行社联系进行过确认,但都没有更改预订的迹象,因此,刘小姐对其他预订均已谢绝。6时30分,该团仍无踪影。刚巧,这天餐厅的上座率非常高,望着那一桌桌上凉菜的餐桌,大家都着急了。餐厅经理急忙作出决定,一方面让刘小姐继续与旅行社联系,一方面允许已经上门没有预订的散客使用部分该团预订的餐桌。并与其他餐厅联系,准备万一旅游团来了使用其他撤台的餐桌。经联系,旅行社值班人员讲,预订没有改变,可能是由于交通堵塞问题造成团队不能准时到达饭店。7时30分,旅游团才风风火火地来到饭店。导游员告诉餐厅,有30人因其他事由不能来用餐。还有90人用餐,其中有3人吃素。经理急忙让服务员安排,并回复导游员,按规定要扣除这30人的预订超时和餐食备餐成本费用,比例是餐费的50%。
    由于团队到达时间晚,有些预订餐桌没有动,餐厅内散客的撤台率较快,加上旅游团少来了30人,所以90个美国客人到达后马上得到安排。望者这些饥餐渴饮的旅游者,大家终于松了一口气。
    问题:请从该案例分析一下餐厅接受团队预订时应注意的事项。

posted @ 2005-11-10 08:58 David.C 阅读(4378) 评论(1) 编辑

2005年10月30日 #

在使用asp.net将图片上传并存入SqlServer中,然后从SqlServer中读取并显示出来

一,上传并存入SqlServer
 数据库结构
  create table test
  {
     id identity(1,1),
     FImage image
  }
  相关的存储过程
  Create proc UpdateImage
  (
     @UpdateImage Image
  )
  As
  Insert Into test(FImage) values(@UpdateImage)
  GO

在UpPhoto.aspx文件中添加如下:
<input id="UpPhoto" name="UpPhoto" runat="server" type="file">
<asp:Button id="btnAdd" name="btnAdd" runat="server" Text="上传"></asp:Button>

然后在后置代码文件UpPhoto.aspx.cs添加btnAdd按钮的单击事件处理代码:
private void btnAdd_Click(object sender, System.EventArgs e)
{
        //获得图象并把图象转换为byte[]
        HttpPostedFile upPhoto=UpPhoto.PostedFile;
        int upPhotoLength=upPhoto.ContentLength;
        byte[] PhotoArray=new Byte[upPhotoLength];
        Stream PhotoStream=upPhoto.InputStream;
        PhotoStream.Read(PhotoArray,0,upPhotoLength);

        //连接数据库
        SqlConnection conn=new SqlConnection();
        conn.ConnectionString="Data Source=localhost;Database=test;User Id=sa;Pwd=sa";

        SqlCommand cmd=new SqlCommand("UpdateImage",conn);
        cmd.CommandType=CommandType.StoredProcedure;

        cmd.Parameters.Add("@UpdateImage",SqlDbType.Image);
        cmd.Parameters["@UpdateImage"].Value=PhotoArray;

        //如果你希望不使用存储过程来添加图片把上面四句代码改为:
        //string strSql="Insert into test(FImage) values(@FImage)";
        //SqlCommand cmd=new SqlCommand(strSql,conn);
        //cmd.Parameters.Add("@FImage",SqlDbType.Image);
        //cmd.Parameters["@FImage"].Value=PhotoArray;

 conn.Open();
 cmd.ExecuteNonQuery();
 conn.Close();
}

二,从SqlServer中读取并显示出来
在需要显示图片的地方添加如下代码:
<asp:image id="imgPhoto" runat="server" ImageUrl="ShowPhoto.aspx"></asp:image>

ShowPhoto.aspx主体代码:
private void Page_Load(object sender, System.EventArgs e)
{
     if(!Page.IsPostBack)
     {
                SqlConnection conn=new SqlConnection()
                conn.ConnectionString="Data Source=localhost;Database=test;User Id=sa;Pwd=sa";
               
                string strSql="select * from test where id=2";//这里假设获取id为2的图片
                SqlCommand cmd=new SqlCommand()
                reader.Read();
                Response.ContentType="application/octet-stream";
                Response.BinaryWrite((Byte[])reader["FImage"]);
                Response.End();
                reader.Close();
     }
}

在winform中将图片存入sqlserver,并从sqlserver中读取并显示在picturebox中

posted @ 2005-10-30 01:26 David.C 阅读(1793) 评论(1) 编辑

1,基于windows的安全验证
 web.config文件:
  <configuration>
    <system.web>
        <authentication mode="Windows" />
        <identity impersonate="true" />
        <authorization>
            <allow roles="BUILTIN\groupname" users="computername\UserName,computername\UserName" />
            <deny users="*" />
        </authorization>
    </system.web>
  </configuration>
  在.aspx文件中无需任何代码就可以实现验证,但可以在.aspx文件获取登陆用户的信息
  需导入命名空间:System.Security.Principal
  if(User.Identity.IsAuthenticated)//判断用户是否验证,似乎可有可无
  {
    WindowsIdentity objWinIdentity=WindowsIdentity.GetCurrent();
    lblHelloMsg.Text="the name:"+objWinIdentity.Name+"<br>Type:"+ objWinIdentity.AuthenticationType+"IsInRole:"+User.IsInRole("computername\\groupname");
  }
 
2,基于web.config forms验证
 web.config文件:
 <configuration>
<system.web>
  <authentication mode="Forms">
    <forms name="MyApp" path="/" loginUrl="login.aspx"
           protection="All" timeout="30">
      <credentials passwordFormat="Clear">
        <user name="kwk" password="test" />
        <user name="ljx" password="test" />
      </credentials>
    </forms>
  </authentication>

  <authorization>
    <allow users="kwk,ljx" />
    <deny users="?" />
  </authorization>
</system.web>
</configuration>
 login.aspx文件:需要提供两个文本框用于填写用户和密码(txtUsr,txtPwd),一个单选框判断是否永久保存
                还需要一个按钮控件则响应该button的代码如下:
void DoLogin(Object sender, EventArgs e)
{
   if(FormsAuthentication.Authenticate(txtUsr.Value,txtPwd.Value))
   {
       FormsAuthentication.RedirectFromLoginPage(txtUsr.Value,chkPersist.Checked);
   }
   else
   //为代码完整性而设置,可以不写
   {
       Response.Write("authentication fails");
   }

然后在别的页面可以获得登陆用户的值:
if(User.Identity.IsAuthenticated)//可以不需要判断
{
  Response.Write("your name:"+User.Identity.Name);
  Response.Write("验证类型:"+User.Identity.AuthenticationType);//forms,windows等
}

3,基于自定义forms验证
 web.config文件(基本上不需要什么设置):
  <system.web>
   <authentication mode="Forms">
  <forms name="MyApp" path="/" loginUrl="custom-login.aspx"
      protection="All"  timeout="30" >
  </forms>
   </authentication>

   <authorization>
  <deny users="?" />
   </authorization>
 </system.web>
  custom-login.aspx文件,基本原理还是跟2中说的一样,如:
  if (blnIsAuthenticated) //注意这个blnIsAuthenticated是一个自己定义的变量
  //当我们把用户输入的信息和数据库(或xml)的信息比对,存在则把该变量设为true,反之false
  //这是跟2不一样的地方
  {
     FormsAuthentication.RedirectFromLoginPage(txtUsr.Value, chkPersist.Checked);
     //txtUsr和chkPersist分别为textbox,checkbox控件
  }
  else
  {
    //验证失败提示信息
  }
  剩下的如在其他页面获得用户信息,如2一样
 
4,退出登陆
响应退出登陆按钮的代码:
FormsAuthentication.SignOut();
Response.Clear();
Response.Redirect(Request.UrlReferrer.ToString());//重定向到前一个页面

posted @ 2005-10-30 01:23 David.C 阅读(939) 评论(0) 编辑

2005年10月26日 #

  企业实施客户关系管理是顾客成为中心和主导这一不可阻挡、不可逆转的社会和经济大势所驱。但是,真正能够成功地管理客户关系并取得竞争优势的企业却是寥若晨星。客户关系管理工程的失败原因很多, 比如说计划不周全、业务部门和技术部门沟通和协作不利、业务流程未经优化就先自动化、人才和技能短缺以及企业文化拖后腿等等;但是,其中最重要的一条原因就是客户信息的质量低劣,主要表现为有的信息根本就不存在,存在的信息也不完整、不及时、不准确。在质量低劣的客户信息的基础上进行客户关系管理就象在薄弱的地基上建造高楼大厦一样,其命运必然象最终倒掉的“雷峰塔”一样。因此在这一期文章中我就来谈谈客户信息质量对于客户关系管理的重要意义。

  客户信息质量对于客户关系管理的重要意义可以从劣质信息的危害和优质信息的益处两个方面来体会。先从负面来说,目前由于大多数企业都设置了众多而又分散的部门,推行着众多而又分散的计划,建立了众多而又分散的资料库,运行着众多而又分散的系统,结果造成信息能力低下和信息质量粗糙的局面。这种尴尬的“信息无政府主义”局面至少有两大致命缺点:无关紧要的资料泛滥成灾(所谓的“信息洪水”,本专栏以前对此有过介绍)和真正重要的信息十分匮乏(所谓的“信息饥荒”)。

  具体而言,劣质信息的危害主要体现在以下几个方面:储存和管理重复资料的高额成本;无法有效率、有效果地准确处理顾客联系和互动;对顾客目前和潜在的价值无法进行深刻的了解;对顾客过去和未来可能的行为和要求无法进行深刻的了解;无法适当地划分和描述顾客,从而也就无法针对不同的顾客群提供不同的产品和服务程度;无法计算或衡量客户关系管理战略实施的成功程度。不解决好客户信息的质量问题,企业不仅要忍受低效率的痛苦,而且有可能与重要的机遇失之交臂。

  我目前所在公司的一个客户就因为企业资源规划系统中的顾客总资料表除了质量问题而失去了大好的商机:一组数目不菲的顾客被冠以错误的行业代码,以至于因此市场营销部门在进行市场细分时忽略了这组顾客;这一疏忽给该公司造成的收入损失据估计竞高达五百万美元。

  再从正面来讲,客户信息的质量决定了客户关系管理方案的质量,因此建立高质量的客户信息储存中心是客户关系管理成功实施的重要基础和支柱。具体说来,高质量的客户信息储存中心可以为客户关系管理带来以下几个方面的好处:

  (1)通过删除重复的顾客资料,企业可以建立一份独特的顾客名单从而节省花在市场营销上的精力和费用;

  (2)通过删除重复的顾客资料, 企业可以降低在多个数据库中储存相同资料的费用并降低用于储存资料的基础设施的费用;

  (3)通过识别首次购买的顾客,企业可以利用这些顾客的信息更加有的放矢地进行营销推广从而提高销售收入;

  (4)通过利用完整、准确和及时的客户信息,企业可以提高与顾客交往的亲密程度,提高顾客的满意度和忠诚度。研究和实践经验都证明:高质量而又得到了有效利用的客户信息既可以带来节省成本的“硬收益”又可以带来增加收入的“软收益”。

  既然低质量的客户信息有如此之多的危害而高质量的客户信息又有如此之多的益处,那如何才能提高并维持客户信息的质量呢?答案是多管齐下:

  第一, 企业领导要真正重视客户信息的质量问题,而不是只做官样文章。由于客户关系管理决定着一个企业的生死存亡和胜败兴衰,而客户信息质量又决定着客户关系管理决定的生死存亡和胜败兴衰,企业的高层领导必须高度重视客户信息质量问题,必须认识到他们的责任不仅是决定是否要建立客户关系管理这座大楼和制定什么样的施工蓝图,更重要的是确保大楼地基的坚固。客户信息作为客户关系管理的地基,其质量的提高首先离不开企业高层领导的理解、关心和支持。

  第二, 建立现代化的客户信息库。没有足够的客户信息,客户关系管理将成为“巧妇亦难为”的“无米之炊”。企业在实施客户关系管理战略的时候,必须建立一个集中化的客户信息储存中心,这要求企业克服各个方面的障碍(数据库方面的、企业各部门的、渠道方面的、信息来源方面的、技术架构和平台方面的);虽然这一任务十分艰巨,但是成功的回报也是十分巨大的,可以说强大的客户信息库将会成为企业客户关系管理的“聚宝盆”。

  第三, 给信息质量管理分配更多的资源(包括时间)。建立一个集中化的客户信息储存中心需要大量的资源:人力、物力、财力。许多企业都容易低估这一任务所需的资源。企业在实施客户关系管理战略的时候,必须用更多的资源,尤其是那些容易被忽视的时间资源,来提高客户信息的质量。

  第四, 业务人员和技术人员必须通力合作。找出错误、残缺和过时的客户信息然后找出适当的解决办法不是企业信息技术部门单独所能胜任的,也不是各个业务部门单独所能胜任的。信息技术部门和主要业务部门应该分工合作,齐心协力才能建好客户信息储存中心,提高客户信息的质量。

  第五, 开展信息质量培训,培养信息质量人才。任何事业归根结底都是人的事业,信息质量管理也不例外。由于市场经济和信息技术的复杂,任何企业的员工都日益感受到知识和技能跟不上时代发展的步伐,客户关系管理战略的全面实施更加剧了这种不足感。企业为了提高客户关系管理的有效性,必须加强对员工的培训,使他们认识到客户信息质量的重要性,增强他们清洗和整合信息的能力;从长远来说,企业如果能在实施客户关系管理战略的过程中培养出一批得力的能为企业控制和提高客户信息质量的人才,那将是一笔不可估量的无形财富。

  第六, 改善信息管理流程。信息的管理流程包括收集、储存、提取、转换、清洗、挖掘、分析和利用。这一过程十分复杂,任何一个环节都不容忽视,否则将对企业的客户关系管理产生严重的影响。企业要仔细审视每一环节,找出应该改进和可以改进的地方,采取切实的措施加以改进,这样客户信息的质量才能提高。

  第七, 利用信息清洗和整合工具。现在,为了帮助企业提高客户信息的质量,有许多软件厂商和营销服务公司推出了各种技术工具,包括信息来源分析工具、信息要素改造工具、顾客姓名/地址清洗工具和顾客关系识别工具;企业可以根据自身需求从中选用适当的工具。

  第八, 建立重视信息质量的企业文化。任何企业都不应该忽视企业文化对实施客户关系管理战略、建立客户信息储存中心以及建立商务智能体系所起的作用(当然有正有反)。一个重视信息质量的企业文化能使客户关系管理战略的实施事半功倍,而一个不重视信息质量的企业文化则会使客户关系管理战略的实施收效甚微乃至全面失败。企业要建立奖惩分明的制度来促进信息质量的建设,这是企业建立重视信息质量的企业文化的最重要的一部分。

  综上所述,企业在推广客户关系管理时必须高度重视客户信息的质量问题,努力遵守“三大纪律”(保持客户信息的完整性、保持客户信息的准确性、保持客户信息的新鲜性)和“八项注意”(上述旨在提高客户信息质量的八条建议)。只有这样,客户信息才能象畅通的血脉,为企业的客户关系管理系统源源不断地提供丰富的营养、强大的动力和永久的青春!
posted @ 2005-10-26 00:06 David.C 阅读(443) 评论(0) 编辑

仅列出标题  下一页