‘开发遇到的问题’ 分类下的所有文章
2010十月1

用ajax读取数据,在浏览器中的源文件看不到,根本是javascript与seo的问题

开发遇到的问题 评论关闭

1, SEO的主要功能是抓取页面、关键字以达到网站页面收录的目的,从而提高网站知名度,同时,搜索引擎在抓取页面的时候会屏蔽掉所有javascript代码,而基于Ajax技术的Web站点其中所用到的很重要的一项技术就是javascript代码, 那么Ajax载入的内容对于搜索引擎来说也就是是透明的,不可见的。

2,html 到了浏览器上之后,所有的源代码是不会改变的。但是变量确实会变化。变量改变后他的东西是在内存里,而不是修改浏览器的源代码。即若页面在客户端利用js做出的改变只是存在于内存之中,不会改动源文件。可以想一下,假如做出的变量改变可以在源文件中看到,要知道源文件是存在于电脑上的,也就是说可以用js直接改电脑上的文件,这明显是不可实现的。
用JS不可改变源文件,而ajax就是利用js的,可知ajax不能改变源文件,源文件是第一次加载时形成的。

2010十月1

GenericErrorPage.htm

开发遇到的问题 评论关闭

?把<customErrors mode=”RemoteOnly” defaultRedirect=”GenericErrorPage.htm“> 改成<customErrors mode=”Off”/> 再运行网站看提示的具体错误, 一般是程序出问题

2010十月1

iframe注入但源文件没有此iframe

开发遇到的问题 评论关闭

打开网页显示:<iframe src=http://csddd4.3322.org:32/jz/dk.html width=1 height=0></iframe>????? 但源文件中没有此代码,后发现是ARP攻击,将360的arp防火墙打开解决!

2010十月1

登录系统界面输入用户名密码点确定页面只是刷新了一下不能转到系统主页

开发遇到的问题 评论关闭

原因:用户名密码验证成功后系统通过js转到系统主页,而恰恰是js在IE中不能执行,通过在地址栏中输入:javascript:alert(‘asd’); 没有任何反应,便确认了这点,操作系统的js dll文件损坏掉了,要重新注册: regsvr32 jscript.dll regsvr32 vbscript.dll
重新注册后成功解决!

2010十月1

5分钟自动得到网站服务器上的系统服务会莫名其妙的停下来

开发遇到的问题 评论关闭

上看下看,系统服务都没有问题,是5分钟自动跑一次,但不规律的是有时会一直停止,不再启动。
解决方案:在系统服务程序代码中所有可能出现问题的地方加上try catch,并在抛出异常时写入日志,观察一段时间,发现是生成邮件的时候mailTo为空生成邮件实例失败造成的!!!在生成实例的时候加上mailTo为空就不产生实例的判断,问题解决!!!

生成日志的方法如下:
?

public static void WriteLog(string context)
        {
            using (StreamWriter w = File.AppendText("c:\\temp.txt"))
            {
                Log(context, w);
                w.Close();
            }

        }

        public static void Log(String logMessage, TextWriter w)
        {
            w.Write("\r\nLog Entry : ");
            w.WriteLine("{0} {1}", DateTime.Now.ToLongTimeString(),
                DateTime.Now.ToLongDateString());
            w.WriteLine("  :");
            w.WriteLine("  :{0}", logMessage);
            w.WriteLine("-------------------------------");
            // Update the underlying file.
            w.Flush();
        }
2010十月1

数据由4万增加到了10万,系统速度明显慢了下来,调试方法。

开发遇到的问题 评论关闭

?1,减少表的关联:当两个关联的表数据都很大时,主表关联子表,而主表只是要子表的一、两个字段的数据,此时可将子表的这一两个字段放在主表中,以增加冗余的方式来提高速度。
2,在取数据集时,特别在分页处,一次取出所有的数据速度是不合理的,应是只取当前页要求数量的数据,待用到下一页的时候再取。即:用到再取。
3,添加索引:数据表没有主键,搜索表中的数据时,数据库引擎必须进行全表扫描,效率极其低下。若必须进行全文扫描,可考虑全文检索,创建主键时,会自动创建聚集索引树,表中的所有行会在文件系统上根据主键值进行物理排序,当查询表中任一行时,数据库首先使用聚集索引树找到对应的数据页,然后在数据页中根据主键键值找到目标行
?为下列字段加索引:
 1)搜索时经常使用到的;

  2)用于连接其它表的;

  3)用于外键字段的;

  4)高选中性的;

  5)ORDER BY子句使用到的;
4,建历史表,bdorder ,bdorderhistory, 令bdorder只保持最近几天常用的资料,定时运行job将资料转进bdorderhistory中,
在取数据时:正常时间范围内查bdorder, 之外查询bdorderhistory, 例:
IF(@Adddate >= CONVERT(VARCHAR(10), DATEADD(day, -2, GETDATE()), 20))–3天以内查询
??? BEGIN
??? ??? SELECT *
??? ??? FROM visitCustomer(NOLOCK)
??? ??? WHERE 1 = 1
??? ??? and Adddate > @Adddate and Adddate < Dateadd(day, 1, @Adddate)
??? ??? and charindex(‘nxgao.com‘, href) = 0
??? ??? and charindex(‘nxtall.com‘, href) = 0
??? ??? and charindex(‘lvshou.com‘, href) = 0
??? ??? and charindex(‘lvshou.com.cn‘, href) = 0
??? ??? and charindex(‘lvshou.hk‘, href) = 0
??? ??? and charindex(‘?adsfrompipi’, href) > 0
??? ??? ORDER BY Adddate
??? END
??? ELSE
??? BEGIN
??? ??? SELECT *
??? ??? FROM visitCustomerBak(NOLOCK)
??? ??? WHERE 1 = 1
??? ??? and Adddate > @Adddate and Adddate < Dateadd(day, 1, @Adddate)
??? ??? and charindex(‘nxgao.com‘, href) = 0
??? ??? and charindex(‘nxtall.com‘, href) = 0
??? ??? and charindex(‘lvshou.com‘, href) = 0
??? ??? and charindex(‘lvshou.com.cn‘, href) = 0
??? ??? and charindex(‘lvshou.hk‘, href) = 0
??? ??? and charindex(‘?adsfrompipi’, href) > 0
??? ??? ORDER BY Adddate
??? END

5, sql语句利用构造式,对于小范围的数据,可以直接得到结果,然后查询。???? EXEC(@Query) ?

2010十月1

构造多个table显示数据但表格对不齐

开发遇到的问题 评论关闭

多个table同样的css,tr,td都一样放在一起,但就是上下格对不齐,分析了老久才知是不同的table中存的数据不一样,造成td扩展的宽度也不尽相同,呈现出来的就是不整齐的现象
要设置:td宽度不随内容改变:<table style=”table-layout: fixed” border=”1″ width=”100%”>

2010十月1

构造html之table

开发遇到的问题 评论关闭

?在代码中构造table时,tr,td,span混在一起,杂乱无章,可分开,table,tr,td单独,这样对的时候比较容易如:

?//td:订单金额
??????????????? sb.Append(“<td style=\”width:40px;\”>”);
??????????????? sb.Append(dr["amount"].ToString());
??????????????? sb.Append(“</td>”);
–空一行
??????????????? //td:状态名称
??????????????? sb.Append(“<td style=\”width:8%;\”>”);
??????????????? sb.Append(dr["StatusName"].ToString());
??????????????? sb.Append(“</td>”);

2010十月1

VSS连接不上,出现Internet连接,本来应是局域网连接

开发遇到的问题 评论关闭

Visual Studio 工具-选项-源代码管理-插件选择-当前源代码管理插件:选择Miscroft visual SourceSafe 而不是Miscroft visual SourceSafe(Internet)即可

2010十月1

导出Excel文件,因某种原因造成文件打不开,出现由于错误,此文件无法打开。错误列于:c:\Docu….

开发遇到的问题 评论关闭

导出Excel一般是用XML构造的,出现上述的错误一般是XML出现非法结构造成的,根据错误提示,打开C:\Documents and Settings\Administrator\Local Settings\Temporary Internet Files\Content.MSO,找到错误日志,据提示右键excel文件进行XML的修改。

2010十月1

VSS编辑时不能自动签出

开发遇到的问题 评论关闭

将项目所在的本机文件夹属性设置为只读即可!

2010十月1

导出的EXCEL不能打开出现错误:由于错误,此文件无法打开。错误列于:C:\Documents…\Content.MSO\7F69F3B1.log

?原因在系统中有一笔资料输入时有”<>”,这样在解析成excel时因用的是XML,”<>”为关键符号故不能解析,会错。在系统中找到这笔资料将”<>”改成”()”即可。

2010十月1

还原MS 数据库老是出错

开发遇到的问题 评论关闭

主要原因在于:选项–将数据库文件还原为:还原后的目录一定要存在,即使文件名不存在,这样MS 才能将原来的备份的数据库放到正确的位置。

2010十月1

导入Excel数据到数据库中,电话变成科学记数法形式:1.89 +E-10

开发遇到的问题 评论关闭

 SQL Server中的数值类型分为两种, 一种是精确的数值类型,具体的数据类型有:bit、tinyint、smallint、int、bigint、smallmoney、money和decimal,这些数据类型能够精确的表明某以数值; 另一种是近似的数值类型,具体就是float和real。浮点数据为近似值 float 或 real 转换为字符数据时的 style 值: 0(默认值)最大为 6 位数。根据需要使用科学记数法。 1 始终为 8 位值。始终使用科学记数法。 2 始终为 16 位值。始终使用科学记数法。 解决方案:1,因float,real是近似值,超出6位以上就会用科学计数法,故可将其转成精确值就可显示。 convert(varchar(20),convert(bigint,@tel)) 2,导入 EXCEL时 SQL SERVER会将类型为数字的列转成float,出现科学计数法,故可将Excel中数据列转成文本类型再导入。 注:若导入的数据有文字时则导入的结果会为NULL, 故综合处理方案如下:    数据入SQLServer过程中,SQLServer会做出判断,是采用float型还是nvarchar型来接受数据,SQLServer采用哪一型取决于将要导入的数据中本身具有哪一型的记录数比例多。故每行先转换为字符,直接设置单元格的格式方式是不可以的,    1, (1)将excel数据copy到editplus, ctrl+ h 正则匹配\n 为\n' 这样每行都转为了字符形式。或加一列执行:="'"&D2函数     (2)导入数据库     (3)去掉加入的': update a  set a.tel = replace(tel,'''','') from temptel a  2,右键设置单元格式,数字,小数位数改为0

2010十月1

日期的ToString

开发遇到的问题 评论关闭

?按日期查询,结果单日期如2009-11-03查不出来,而2009-11-13就可查出
查知:日期转换时:用的是ToString(),没有指示格式,故它会按照服务器格式执行,
(1)服务器上指定的日期格式为yyyy-MM-d 故2009-11-03 被转成了2009-11-3,在比较数据库中的2009-11-03时出现问题。
(2)数据库中为2009-11-03 而ToString()就变成了2009-11-3 00:00:00 更加不对

故日期时最好加上:ToString(“yyyy-MM-dd”)

2010十月1

url中带”之类的可用对应的编码替代

开发遇到的问题 评论关闭
2010十月1

页面调好后签入签出的问题

开发遇到的问题 评论关闭

?vs.net2008 开发调试页面时,图方便用DW调试,但在VSS中不会显示签入的状态,在提交时也提交不到服务器上,顺手提交,以为提交到服务器上,实际没有,那么在下一次签入时会覆盖修改的结果,造成结果付之东流。
故在用:vs.net2008 VSS调试时避免用第三方软件调试页面,或直接覆盖页面。

VSS使用:1,随时签入签出???? 2,在vs.net打开时,不用此三方软件调试页面

如存储过程也加入VSS时,在查询分析器中修改,而在VSS中是体现不出来的,要以VSS为主

2010十月1

从Excel copy单元格数据到页面中保存出现乱码

开发遇到的问题 评论关闭

?从Excel copy时,可能会顺便copy单元格的空格,而这个空格是特殊字符,页面在utf-8内才能支持。故若页面编码格式设置为gb2312,或gbk则会出现乱码。
由上知:页面出现乱码的原因是:当前页面的编码格式不支持传来的数据内容。

字符集大小: utf-8 > gbk > gb2312
utf-8 与 gbk, gb2312转换出现问题的原因:UTF8每个汉字占用3个字节,GB2312、GBK属于双字节字符集,在进行转换时会因位数的差异,生成乱码。转换时一般用getBytes之类的方法。

UTF8能容纳世界上的所有字符,所以,数据库一般使用UTF8编码。这使得,任何字符都可以存进UTF8编码的数据库。采用UTF-8编码回多占用一些空间(一个汉字需3个字节),但能支持更多字符。

2010十月1

文章上传,不能插入到数据库中

开发遇到的问题 评论关闭

主要原因是文字有特殊字符,而连接数据库的编码格式不包括此种字符造成的。
<add key=”ConnectString” value=”server=192.168.16.55;user id=root; password=123abc; Database=telishoudb; pooling=false;charset=gb2312;Allow Zero Datetime=true;”/>
若文章中 ?、?、?、乜、?、?、? 这样的gbk字符,则就插入不到数据库中,字符串连接要改为gbk! (数据库编码格式可为gb2312)

2010十月1

eWebEditor 上传图片报:d_file.myform.uploadfile 为空或不是对象错误

开发遇到的问题 评论关闭

eWebEditor 上传图片时要调用eWebeditor\upload下的Default.aspx,但是默认调用,故要在IIS目录默认文档中加入Default.aspx!!