一切福田,不離方寸,從心而覓,感無不通。

Category Archives: Programming Language

ECSHOP数据库结构详细说明

— 表的结构 ecs_account_log CREATE TABLE IF NOT EXISTS ecs_account_log ( log_id mediumint(8) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID号', user_id mediumint(8) unsigned NOT NULL COMMENT '用户登录后保存在session中的id号,跟users表中的user_id对应', user_money decimal(10,2) NOT NULL COMMENT '用户该笔记录的余额', frozen_money decimal(10,2) NOT NULL COMMENT '被冻结的资金', rank_points mediumint(9) NOT NULL COMMENT '等级积分,跟消费积分是分开的', pay_points mediumint(9) NOT NULL COMMENT '消费积分,跟等级积分是分开的', change_time int(10) unsigned NOT NULL COMMENT '该笔操作发生的时间', change_desc varchar(255) NOT NULL COMMENT '该笔操作的备注,一般是,充值或者提现。也可是是管理员后台写的任何在备注', change_type tinyint(3) unsigned NOT NULL COMMENT '操作类型,0为充值,1为提现,2为管理员调节,99为其他类型', PRIMARY KEY (log_id), KEY user_id (user_id) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT=’用户帐号情况记录表,包括资金和积分等' AUTO_INCREMENT=42 ; — —————————————————— — 表的结构 ecs_ad […]

龙生   08 Dec 2010
View Details

解答“编译器错误信息: CS0016: 未能写入输出文件”的办法

解决: 初次碰到这个问题,试过很多方法,比如:停止索引服务,重装IIS,重装.Net Framework,删除Temporary ASP.NET Files目录再重赋权限,甚至重装系统,问题依旧;还有一点很奇怪,我重装系统前赋予了Temporary ASP.NET Files文件夹asp.net,network service和everyone用户的最大权限,但是我格式化重装系统后,Temporary ASP.NET Files目录的权限设置居然跟重装系统之前一样,不知是不是NTFS文件系统的问题,网上搜了一下,很多人碰到这个问题想到的都是给Temporary ASP.NET Files目录赋权限,我开始也是这样,最后在微软的网站搜到了这个问题的解决方法,其实很简单,只要在windows/temp权限设置里面把Network service(如果是win2000则是asp.net用户)的权限加上就行。 具体解决方法请参照:http://support.microsoft.com/default.aspx?scid=kb;en-us;825791

龙生   08 Dec 2010
View Details

c# 中的Equals()和==有什么区别?

using System;using System.Collections.Generic;using System.Text; namespace ConsoleApplication1{    class Person    {        private string name;         public string Name        {            get { return name; }            set { name = value; }        }         public Person(string name)        {            this.name = name;        }    }     class Program    {        static void Main(string[] args)        {            string a = new string(new char[] { 'h', 'e', 'l', 'l', 'o' });            string b = new string(new char[] { 'h', 'e', 'l', 'l', 'o' });            Console.WriteLine(a == b);            Console.WriteLine(a.Equals(b));             object g = a;            object h = b;            Console.WriteLine(g […]

龙生   30 Nov 2010
View Details

实现PHP三种直接读取数据库信息的方法

这段代码的功能是: 连接到一个 url 地址为localhost 、 端口为 3306 的mysql服务器上。mysql服务器的帐号是"root",密码是"9999"。mysql 服务器上有一个数据库 ok , 数据库里有一个表 abc。表 abc 一共为两列,列名分别是 "id" 和 "name" ,将 abc 里的所有数据读出来。 以下为引用的内容: <? $dbh = @mysql_connect("localhost:3306","root","9999");  /* 定义变量dbh , mysql_connect()函数的意思是连接mysql数据库, "@"的意思是屏蔽报错 */if(!$dbh){die("error");} /* die()函数的意思是将括号里的字串送到浏览器并中断PHP程式 (Script)。括号里的参数为欲送出的字串。 */@mysql_select_db("ok", $dbh); /* 选择mysql服务器里的一个数据库,这里选的数据库名为 ok */ $q = "SELECT * FROM abc";网页教学网http://www.webjx.com /* 定义变量q, "SELECT * FROM abc"是一个SQL语句,意思是读取表abc中的数据 */ ?> <br /> <!--=========    方法一    =========--><br /> <? $rs = mysql_query($q, $dbh); /* 定义变量 rs ,函数mysql_query()的意思是:送出 query 字串供 MySQL 做相关的处理或者执行.由于php是从右往左执行的,所以,rs的值是服务器运行mysql_query()函数后返回的值 */ if(!$rs){die("Valid result!");} echo "<table>"; echo "<tr><td>ID</td><td>Name</td></tr>"; while($row = mysql_fetch_row($rs)) echo "<tr><td>$row[0]</td><td>$row[1]</td></tr>"; /* 定义量变(数组)row,并利用while循环,把数据一一写出来. […]

龙生   04 Nov 2010
View Details

c#数据类型基础

1.值类型 值类型包括简单值类型和复合型类型。简单值类型可以再细分为整数类型、字符类型、实数类型和布尔类型;而复合类型则是简单类型的复合,包括结构(struct)类型和枚举(enum)类型。   整数类型   数据类型 说明 取值范围 对应于System程序集中的结构 sbyte 有符号8位整数 -128-127 SByte byte 无符号8位整数 0-255 Byte short 有符号16位整数 -32768-32767 Int16 ushort 无符号16位整数 0-65535 UInt16 Int 有符号32位整数 -2147489648-2147483647 Int32 uint 无符号32位整数 0-42994967295 UInt32 long 有符号64位整数 -263-263 Int64 ulong 无符号64位整数 0-264 UInt64     字符类型 C#中采用Unicode字符集来表示字符类型。   实数类型   数据类型 说明 取值范围 float 32位单精度实数 1.5*10-45-3.4*1038 double 64位双精度实数 5.0*10-324-1.7*10308 demcimal 128位十进制实数 1.0*10-28-7.9*1028     布尔(bool)类型 取值只能是ture或者false,bool类型对应于.NET类库中的System.Boolean结构。它在计算机中占4个字节,即32位存储空间。   结构类型 把一系列相关的信息组织成为一个单一实体的过程,这就是创建一个结构的过程。 struct person { string m_name; //姓名 int m_age; //年龄 string m_sex; //性别 }   枚举类型 主要用于表示一个逻辑相关联的项和组合。使用关键字enum来定义。 enum Weekday { Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday } […]

龙生   20 Oct 2010
View Details

关于System.Security.SecurityException: That assembly does not allow partially trusted callers.问题的解决!

刚开始学习asp.net,常常遇到一些奇怪的问题,最近做asp.net的毕业设计,把其中的系统做好后在本机上能够正常运行,但是上传到服务器中就出现了下列问题提示: System.Security.SecurityException: That assembly does not allow partially trusted callers., 从百度查了很多资料,回答的不是不沾边,就是凭自己感觉答复。从google搜了下,前几页几乎全是英文页面,看的头大,感觉有的解释有那个道理。最后综合想了下终于明白了, 1)服务器端:将客户端的访问权限设置为full trusted callers,可以正常使用服务器资源,但是咱们对服务器不能要求有什么改动,要求了提供商也是没反应 2)自身系统:我发现系统出现这个问题的地方都是因为用到了分页控件AspNetPager.dll,于是,想到有网友提议: AssemblyInfo.cs文件中加如下内容 using System.Security; [assembly: AllowPartiallyTrustedCallers()] 我想,是啊,突然间又想这个分页控件的新版本已经把这个问题解决了吧,这样我就不必自己修改AssemblyInfo.cs文件再重新编译生成AspNetPager.dll了。从网上又下了个AspNetPagerV7.02的,然后覆盖网站空间中原来那个,再打开自己的网页,发现问题解决了! —————————————————————————————————————————————————————————————— 以上信息转自:http://blog.csdn.net/gzq521/archive/2009/05/13/4178093.aspx 经本人验证 AssemblyInfo.cs文件 的方法行不通。还是下载了个最新的AspNetPager,问题解决,谢谢gzq521。

龙生   29 Sep 2010
View Details

Warning: date_default_timezone_get(): It is not safe to rely on the system’s

今天在运行PHP应用时,报了上面的警告, 出现这个可能是以下原因1.如果装xampp,可能是xampp没装好或者有问题,需要重装2.php 5.3也可能出这个问题,需要修改php.ini文件 找到date.timezone将它的改为 date.timezone=utc 将前面的分号去掉,重启服务器或者在index.php中加上 date_default_timezone_set('UTC'); 3.可以将index.php里面的error_reporting(7);改为error_reporting(0);即可避免它们的出现。

龙生   06 Sep 2010
View Details

关于asp.net 循环输出多个随机数相同时的解决方法

关于asp.net 循环输出多个随机数相同时的解决方法 我们在使用Random生成随机数时经常会出现一种误区,下面我们就此介绍一下: 其中用于产生随机数的函数原型为:Rnd(x),该函数用以产生一个介于0~1之间的单精度随机数。x是产生随机数的种子。如果要从(min, max)这个范围内随机抽取一个数,此时需要用到公式:随机数 = (max – min) * Rnd(x) + min。一般的生成随机数方法: Random ran=new Random(); int   temp=ran.Next(100);生成100以内的一个随机数;这是没有什么问题的 但是我们经常用到for循环生成多个随机数,这时候可能就会出现问题,如果你对随机数原理不是很了解的话,很可能会出现一个误区如: for(int i=0;i<100;i++) { Random ran=new Random(); int   temp=ran.Next(100); Responsed.Write(temp.ToString()); }   这时候你会发现一个问题:生成的所有的随机数都是一样的,不管你ran.Next的值怎么设置都是一样的,为是为什么呢,这就是我们要说的一种误区,其实正确的写法是这样的: Random ran=new Random();   for(int i=0;i<100;i++) { int   temp=ran.Next(100); Responsed.Write(temp.ToString()); }   看看是不是得到了自己想要的东西。呵呵 转自:http://hi.baidu.com/arqq1230/blog/item/770fb1fab1b7ed9f58ee901c.html

龙生   31 Aug 2010
View Details

从客户端(…)中检测到有潜在危险的Request.Form 值的处理办法

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zhangyj_315/archive/2009/03/06/3962394.aspx 这几天在用ASP.NET控件做一个简单的留言本,在测试detailsview实现插入留言时,如果在插入模板的textbox中插入<script>alert(&ldquo;hello&rdquo;)</script>这样一段脚本时,就会报从客户端中检测到有潜在危险的 Request.Form 值。想到前面一段时间在MSDN上的看到通过对字符串应用 HTML 编码在 Web 应用程序中防止脚本侵入这一节的内容,所以想在代码中利用htmlencode()对输入内容进行编码以防止脚本的入侵。但是如果要对整个网站的输入框进行验证,这种做法显然是比较繁琐的。所以就在google了一下,于是就得到了下面的四种解决办法。 由于在.net中,Request时出现有HTML或Javascript等字符串时,系统会认为是危险性值。立马报错上面的错误。 如:在网页的TextBox1中输入一些HTML代码,点提交按钮后会报错。 解决办法: 解决方案一: 在.aspx文件头中加入这句: <%@ Page validateRequest="false"  %> 解决方案二: 修改web.config文件: <configuration> <system.web> <pages validateRequest="false" /> </system.web> </configuration> 因为validateRequest默认值为true。只要设为false即可。 补充:  

  解决方案三: 当然,这样只能是让界面好看一些,要想抵制注入,还得从过滤上做足功夫 然后,还是有不禁用validateRequest的方法的,如下 不禁用validateRequest=false。 正确的做法是在你当前页面添加Page_Error()函数,来捕获所有页面处理过程中发生的而没有处理的异常。然后给用户一个合法的报错信息。如果当前页面没有Page_Error(),这个异常将会送到Global.asax的Application_Error()来处理,你也可以在那里写通用的异常报错处理函数。如果两个地方都没有写异常处理函数,才会显示这个默认的报错页面呢。 举例而言,处理这个异常其实只需要很简短的一小段代码就够了。在页面的Code-behind页面中加入这么一段代码: 以下是引用片段: protected void Page_Error(object sender, EventArgs e) { Exception ex = Server.GetLastError(); if (ex is HttpRequestValidationException) { Response.Write("请您输入合法字符串。"); Server.ClearError(); // 如果不ClearError()这个异常会继续传到Application_Error()。 } } 解决方案四: 在Global.asax文件的Application_Error()来处理。这样在整个网站中都生效。 void Application_Error(object sender, EventArgs e) { // 在出现未处理的错误时运行的代码 Exception ex = Server.GetLastError(); if (ex is HttpRequestValidationException) { Response.Write("请您输入合法字符串。"); Server.ClearError(); // 如果不ClearError()这个异常会继续传到Application_Error()。 } }

龙生   20 Aug 2010
View Details

asp.net中string.Format的一些用法

C#的String.Format举例2006-12-12 16:05stringstr1 =string.Format("{0:N1}",56789);               //result: 56,789.0stringstr2 =string.Format("{0:N2}",56789);               //result: 56,789.00stringstr3 =string.Format("{0:N3}",56789);               //result: 56,789.000stringstr8 =string.Format("{0:F1}",56789);               //result: 56789.0stringstr9 =string.Format("{0:F2}",56789);               //result: 56789.00stringstr11 =(56789 / 100.0).ToString("#.##");           //result: 567.89stringstr12 =(56789 / 100).ToString("#.##");             //result: 567 C 或 c货币Console.Write("{0:C}", 2.5); //$2.50Console.Write("{0:C}", -2.5); //($2.50) D 或 d十进制数Console.Write("{0:D5}", 25); //00025 E 或 e科学型Console.Write("{0:E}", 250000); //2.500000E+005 F 或 f固定点Console.Write("{0:F2}", 25); //25.00Console.Write("{0:F0}", 25); //25 G 或 g常规Console.Write("{0:G}", 2.5); //2.5 N 或 n数字Console.Write("{0:N}", 2500000); //2,500,000.00 X 或 x十六进制Console.Write("{0:X}", 250); /******************************************************************************/ASP.NET设置数据格式与String.Format使用总结(引) {0:d} YY-MM-DD {0:p} 百分比00.00% {0:N2} 12.68 {0:N0} 13 {0:c2} $12.68 {0:d} 3/23/2003 {0:T} 12:00:00 AM {0:男;;女} DataGrid-数据格式设置表达式 数据格式设置表达式 .NET Framework 格式设置表达式,它在数据显示在列中之前先应用于数据。此表达式由可选静态文本和用以下格式表示的格式说明符组成: {0:format […]

龙生   07 Aug 2010
View Details