解决”操作必须使用一个可更新的查询”

将SQLSERVER转成ACCESS时,提交更新数据的操作,经常出现"操作必须使用一个可更新的查询"的错误.

原因:
有几个主要的错误原因:
这个错误发生在当你的程序试图执行更新数据库或其它类似操作时。这是因为
ADO由于以下的几个原因而不能够写数据库造成的。
1、最普遍的原因是匿名用户帐号(IUSR_MACHINE)对该数据库文件没有写权限。
 要解决这个问题,在管理器中调整数据库文件的属性,让匿名用户有正确的权限。当使用ACCESS数据库时,不仅要给文件写的权限,还要给该目录写 的权限,因为Jet需要在该目录建立一个.ldb文件。
// 2003 系统要加 Authenticated Users 的权限
2、第二个原因是数据库没有使用正确的模式打开。应该使用下面的方法打开。
  SQL = "UPDATE Products Set UnitPrice = 2;"
  Set Conn = Server.CreateObject("ADODB.Connection")
  Conn.Mode = 3   ’3 = adModeReadWrite
  Conn.Open "myDSN"
  Conn.Execute(SQL)
  Conn.Close
  注意默认的Mode是设置0(adModeUnknown),它是允许更新的。
3、还有可能是在ODBC管理器中将该DSN的只读选项选中。
4、你是在同时更新两个表中的字段,也会出现这个错误信息,解决办法是分开来更新这两个表中各自字段。
5、当你使用了一个从低版本中(如ACCESS2.0,ACCESS7.0)载入到高版本(ACCESS 2000)中的查询时,在执行这个查询是会出现该错误

关于DedeEIMS的{dede:cattree}{/dede:cattree}使用方法

如果想在首页调用产品分类,只需要在代码中指定调用产品目录的id号,类似typdid=’4′;

下面示例代码:

      <dl class="e2e2e2 mT10">
        <dt class="caption"><strong class="mL5">{dede:lang.productcatalog/}</strong></dt>
        <dd class="body pB5">
          <ul id="navigation">
            {dede:cattree typeid =’4′}{/dede:cattree}
          </ul>
        </dd>
      </dl>

SEO价格参考

关键字的选择是做好SEO的

第一步网站优化

网站优化的价格通常比制作一个网站,价格会高很多,为什么会这样呢?

一个真正优化的网站,投入的费用可能比建设一个新网站更多,这一点也不奇怪,建设网站可能有通用的建站模版,而搜索优化则需要针对每个网站的具体情况进行专门设计,要对原有的不规范的程序进行大量的修改,需要对网站结构和每个栏目每个网页的布局进行大量的调整,同时每个网页的内容描述都需要在用户获取信息行为分析和竞争者分析的基础上进行认真设计,其工作量要远远超过那些没有实现网络营销导向功能的网站建设。专业的网站优化不仅需要丰富的实践经验,也需要对网络营销思想和方法有深入的理解,更需要极强的责任心,认真对待每一个细节问题,这些都不是任何一个模版程序可以做到的。

网站优化多少钱?网站优化价格资费标准网站优化的价格通常需要从以下几个方面来考虑:第一,关键字是影响SEO价格的最重要也是最直接的因素,客户提供的关键字有些是冷门的也些是热门的,而且是非常热门的,比如手机、电影、小说,这类超热门关键字,估计没几个人敢接,哪怕是公司拿到这样的关键字也会非常头痛,通常这样的价格会是个天文数字,而那些具体到小说名,如某某小说,某某电影,相比之前的难度就会低多,价格也会相对更便宜。

第二,关键字排名的位置,这个可能每个人的情况不太一样,我这里的标准是前三页,前两页,前10名(也就是第一页),前5名,第三名,第二名,第一名,通常每个情况的价格都会不一样,SEO价格随排名高低的变化而变化,排名越靠前,价格越高,这里提示一下,在有些搜索引擎里面,比如百度,有些关键字是通过付费排名靠前的,不论多厉害的SEO,也不可能排名比他们靠前,所以请不要轻易承诺。企业们也要注意了,如果一个提供SEO服务的公司后者个人在没有调查之前就随意给你承诺让你的网站排名第一第几什么的,百分百是骗子第三,选择什么样的搜索引擎,百度,谷歌,雅虎还是搜狗,MSN?还是主流搜索引擎的关键字排名都要做呢?因为各搜索引擎都有其自身的特点,关键字要在每个搜索引擎里面获得好的排名,所采取的优化可能会不太一样,工作难度与工作量这些都不会一样,因此价格会不一样,通常情况下是做百度,也有做谷歌,雅虎,也有三大搜索引擎都做的。

第四,需要进行搜索引擎优化的目标网站现状,比如之前是否有人SEO过,是否被惩罚过,网站是否太差等等,网站的具体情况不一样,直接导致优化的时间,难度,工作量等,SEO价格也会不一样。

第五,竞争对手的实力,这个也会很大程度的影响网站SEO的价格,如果竞争对手的网站有人正在或者已经优化过了,并且在搜索引擎中获得很好的排名,那说明要超过竞争对手将要投入更多的时间很精力,SEO价格理所当然地会更高些,反之,价格会更便宜。

第六,客户的身份,个人认为这个也会影响网站SEO的价格,至少会影响我的定价。比如,如果客户方是个大公司和一个个人网站站长,在同等的条件下,我可能会对那个个人站长仁慈一些,价格更低点,毕竟个人的经济状况不可能跟公司比,个人网站的发展一般情况下也无法跟公司比的,另外客户对SEO的认识深浅程度也不一样,同样会影响着SEO的价格,对SEO认识比较深的人,他们能够意识到SEO的重要性及真正的作用,会愿意出更高的价钱来做,反之则回很吝啬——这个算是人性化的处理吧,呵呵。

第七,自身的实力,关于这一点比较现实,每个提供SEO服务的个人或者公司,其实力都是参差不齐的,同样的条件下,有人能够将它排到各大搜索引擎第一名,有人只能将它排到某一个或两个搜索引擎中的第一,有人却只能排到前10名,而且需要的时间也不一样,这些因素也同样会影响网站SEO服务的价格。

第八,服务当地的经济状况,这个好比沿海与内地的经济生活标准有差距一样,沿海经济生活水平更高,物价更高,同样的服务,回报也会不一样,而内地正好相反。

通常情况下,网站优化的价格如下:

生僻词 首页 600-1000   元/年 7-30个工作日内

冷门词 首页 1000-1800  元/年 20-60个工作日内

普通词 首页 1800-2800 元/年 25-70个工作日内

热门词 首页 4800-18000 元/年 30-90个工作日内

重新安装.NET环境后修复IIS

要为 asp.net 修复 iis 映射,请运行 aspnet_regiis.exe 实用工具:
1. 单击“开始”,然后单击“运行”。
2. 在“打开”框中,键入 cmd,然后按 enter。
3. 在命令提示符下键入以下内容,然后按 enter:
"%windir%\microsoft.net\framework\version\aspnet_regiis.exe" -i
在此路径中,version 代表在服务器上安装的 .net framework 的版本号。键入此命令时,必须将此占位符替换为实际版本号。

DOM中的getElementsByClassName

今天在脚本中应用到了根据类名取元素的方法,却对其效率不甚满意。于是,小幅修改了其探测元素类名的方法,提升了约3成的效率.DOM中的getElementsByClassName解释如下:DOM API 中提供3种方法取元素(getElementById,getElementsByName,getElementsByTagName),经常编写CSS的人自然就会产生疑问,有没有根据样式类名取元素的方法,可惜,DOM1/2 里面都没有这样的方法,prototype 很早就扩展过DOM的方法,添加了 getElementsByClassName,从方法名上看,似乎非常正统,与前面3种方法名称也像,分析其代码,却发现还是通过 getElementsByTagName 来实现。这个方法称不上优雅,因为需要遍历所有的元素,探测元素是否包含目标样式类名,返回符合条件的元素数组。google了一下,却没有找到更优雅高效的替代方法。

function getElementsByClassName(className, parentElement){
var elems = ($(parentElement)||document.body).getElementsByTagName("*");
var result=[];
for (i=0; j=elems[i]; i++){
   if ((" "+j.className+" ").indexOf(" "+className+" ")!=-1){
result.push(j);
   }
}
return result;
}

既然有getElementsByClassName,一样可以有 getElementsByAttribute(如:getElementsByValue、getElementsByStyle、getElementsByType)

document.getElementsByClassName = function(className,oBox) {
//适用于获取某个HTML区块内部含有某一特定className的所有HTML元素
this.d= oBox || document;
var children = this.d.getElementsByTagName('*') || document.all;
var elements = new Array();
for (var ii = 0; ii < children.length; ii++) {
var child = children[ii];
var classNames = child.className.split(' ');
for (var j = 0; j < classNames.length; j++) {
if (classNames[j] == className) {
elements.push(child);
break;
}
}
}
return elements;
}

document.getElementsByType = function(sTypeValue,oBox) {
//适用于获取某个HTML区块内部同属于某一特定type的所有HTML元素,如:input,script,link等等
this.d= oBox || document;
var children = this.d.getElementsByTagName('*') || document.all;
var elements = new Array();
for (var ii = 0; ii < children.length; ii++) {
if (children[ii].type == sTypeValue) {
elements.push(children[ii]);
}
}
return elements;
}

function $() {
var elements = new Array();
for (var ii = 0; ii < arguments.length; ii++) {
var element = arguments[ii];
if (typeof element == 'string')
element = document.getElementById(element);
if (arguments.length == 1)
return element;
elements.push(element);
}
return elements;
}

$Cls = function (s,o){
return document.getElementsByClassName(s,o);
};

$Type = function (s,o){
return document.getElementsByType(s,o);
};

$Tag = function (s,o){
this.d=o || document;
return this.d.getElementsByTagName(s);
};

$Name = function (s){ //通过name的方式只能针对整个document而言,不能为其限定范围
return document.getElementsByName(s);

PHP获取域名方法

//方法一(用 系统变量)   

//缺点不使用传递过来的地址和不支持系统变量的主机   

echo $_SERVER[‘HTTP_HOST’];   

//方法二(用自带函数)   

$url = ‘http://www.51php.net/index.php?referer=51php.net’;   

$arr_url = parse_url($url);   

echo $arr_url[‘host’];   

//方法三( 自己写函数)   

function getdomain($url)   
{   
  $url = str_replace(‘http://’,”,$url);       //如果有http前缀,则去掉   
  $pos = strpos($url,’/’);   
  if($pos === false)   
   {   
      return $url;   
   }else  
   {   
      return substr($url, 0, $pos);   
   }   
}   
echo getdomain($url);    

//方法四(用正则)   

preg_match("/^(http://)?([^/]+)/i", $url, $arr_domain);   

echo $arr_domain[2];
 

PHP获取URL地址栏信息代码

主要是获取到地址栏的一些信息,域名,端口参数等

<?php
//获取域名或主机地址
echo $_SERVER[‘HTTP_HOST’]."<br>";
//获取网页地址
echo $_SERVER[‘PHP_SELF’]."<br>";
//获取网址参数
echo $_SERVER["QUERY_STRING"]."<br>";
//来源网页的详细地址
echo $_SERVER[‘HTTP_REFERER’]."<br>";
?>

WORDPRESS解析系列 —— 数据库关联

关于这个系列的文章基本上就到这了,当然以后肯定还有关于WORDPRESS的补充,关于WP的数据库和插件方面本人也是在不断的学习中,呵呵。这篇文章所说的关联是指WORDPRESS十张表做查询时,不同表相联做查询应该注意哪些字段是相通的,就是所谓外键等等。

wp_terms.term_id -> wp_term_taxonomy.term_id
wp_terms_relationships.term_taxonomy_id -> wp_terms_taxonomy.term_taxonomy_id
wp_links.link_id -> wp_terms_relationships.object_id
wp_post.ID -> wp_terms_relationships.object_id
wp_uesrs.ID ->wo_posts.post_author
wp_users.ID -> wp_links.link_owner
wp_post.ID -> wp_postmeta.post_id
wp_post.ID -> wp_comments.comment_postID
wp_users.ID -> wp_comments.user_id
wp_usermeta.user_id -> wp_users.ID

WORDPRESS解析系列 —— 数据库COMMENTS表

其实评论这个东西,能带来很多好处,当然管理上也会有点麻烦,我就是嫌稍微有点麻烦,所以整了个页面当留言板,其他的文章的留言功能都个去了,想联系我的人可以给我留言或者发信,呵呵

进入正题,wp_comments 表记录着WORDPRESS的所有评论信息,是很有意思的一张表,给个名称叫做评论数据表吧,这张表的字段稍多,因为记录的东西也多嘛,当然这张表要跟某些表有关联,哪些表呢?做评论当然是对谋篇文章做评论,必然会联系到wp_posts表,那么是谁做的评论呢?自然是要有wp_users的事了,所以可以3张表连起来sql。wp_comments表的各个字段介绍如下:

comment_ID 评论编号
comment_post_ID 被评论的文章的编号,对应的是wp_posts中的ID
comment_author 评论的作者
comment_author_email 评论作者的邮箱
comment_author_url 评论作者的网址
comment_author_IP 评论作者的IP
comment_date 评论的时间
comment_date_gmt 评论的标准时间,格林尼治时间
comment_content 评论内容
comment_karma 发表评论的类型,一般为0,具体用法不知
comment_approved 评论的状态,0为待审,1为已审,spam为垃圾评论
comment_agent 评论作者的信息,包括浏览器、操作系统等
comment_type 评论的类型,具体用法未知
comment_parent 上一级评论的id,WORDPRESS中是允许回复评论的
user_id 发表评论的用户的id,如果为游客则为0