﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>博客园-liuxiaoyi666</title><link>http://www.cnblogs.com/liuxiaoyi666/</link><description /><language>zh-cn</language><lastBuildDate>Fri, 29 Aug 2008 06:16:53 GMT</lastBuildDate><pubDate>Fri, 29 Aug 2008 06:16:53 GMT</pubDate><ttl>60</ttl><item><title>北京易车 招聘.net网站开发高级程序员 6-8k </title><link>http://www.cnblogs.com/liuxiaoyi666/archive/2008/06/26/1230400.html</link><dc:creator>csdn兔</dc:creator><author>csdn兔</author><pubDate>Thu, 26 Jun 2008 06:21:00 GMT</pubDate><guid>http://www.cnblogs.com/liuxiaoyi666/archive/2008/06/26/1230400.html</guid><wfw:comment>http://www.cnblogs.com/liuxiaoyi666/comments/1230400.html</wfw:comment><comments>http://www.cnblogs.com/liuxiaoyi666/archive/2008/06/26/1230400.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.cnblogs.com/liuxiaoyi666/comments/commentRss/1230400.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/liuxiaoyi666/services/trackbacks/1230400.html</trackback:ping><description><![CDATA[网站开发高级程序员 3名 <br />
3年以上互联网研发经验 <br />
熟练掌握.NET相关技术，熟悉互联网应用的各种技术和架构 <br />
喜欢钻研新技术，有志于长期从事研发工作 <br />
有上进心，善于思考,具备分析和实际解决问题的能力 <br />
具有良好的表达力，善于沟通，有团队协作意识 <br />
待遇：6k以上 <br />
<br />
特别提醒：最好是在北京的朋友<br />
<br />
公司介绍：北京易车互联信息技术有限公司 http://inc.bitauto.com/ <br />
<br />
有意者请将简历发至 <a href="mailto:liupp@bitauto.com">liupp@bitauto.com</a>&nbsp;<a href="mailto:wangff@bitauto.com">wangff@bitauto.com</a> shilei@bitauto.com <br />
<img src ="http://www.cnblogs.com/liuxiaoyi666/aggbug/1230400.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41953/" target="_blank">[新闻]Mac OS X 10.5.5 Build 9F23 测试版和 Safari 4 预览版</a>]]></description></item><item><title>用独孤九剑的方式看设计模式</title><link>http://www.cnblogs.com/liuxiaoyi666/archive/2008/06/25/1229668.html</link><dc:creator>csdn兔</dc:creator><author>csdn兔</author><pubDate>Wed, 25 Jun 2008 06:29:00 GMT</pubDate><guid>http://www.cnblogs.com/liuxiaoyi666/archive/2008/06/25/1229668.html</guid><wfw:comment>http://www.cnblogs.com/liuxiaoyi666/comments/1229668.html</wfw:comment><comments>http://www.cnblogs.com/liuxiaoyi666/archive/2008/06/25/1229668.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.cnblogs.com/liuxiaoyi666/comments/commentRss/1229668.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/liuxiaoyi666/services/trackbacks/1229668.html</trackback:ping><description><![CDATA[<p>很多人用设计模式的时候都很困惑，我认识许许多多的程序员都跟我说，设计模式不错，就是不知道在哪用。而许多人在用的时候也是生搬硬套，如同金庸小说中，只重招式的人一样。</p>
<p>其实项目需求千奇百怪，剑招是不够用的，也不必生搬硬套，否则硬用也只能是伤到自身而不能破敌。</p>
<p>记得金庸小说里风清扬教令狐冲的时候，说过独孤九剑的总纲，无招胜有招，其实设计模式中也有这种总纲，那便是 &#8226;Identify the aspects of your application that vary and separate them from what stays the same.(找到系统中变化的部分，将变化的部分同其它稳定的部分隔开。)</p>
<p>有了总纲接下来的事变就好做了，分析一下总纲，找到系统中变化的部分。这句话的含义是什么？我们怎么才能找到</p>
<p>&#8220;系统中变化的部分&#8221;？我想这个是总纲中深层的含义，其实这是在提示我们从需求中分析，发现需求方可能会改动</p>
<p>的地方，而在此基础上做的事情，通常我会认为我们要与需求人员达成一致的目的，而基于这个目的是有不同的变化</p>
<p>的，而另一半话 将变化的部分同其它稳定的部分隔开，又有这样的疑问了，如何寻找稳定的部分呢？其实不说大家</p>
<p>应该也能猜到 稳定的部分一样也是从需求目的中寻找。</p>
<p>貌似这样显得有点虚，来点儿实际的项目例子好了</p>
<p>在一个项目中，我遇到的问题是有一个搜索框类似于google，输入后需要有联想提示，并且要有一个层与之关联显</p>
<p>示不同的数据。这么一项目，变化点在于，显示不同数据的层，和联想提示的显示是可能变化的，而稳定的点是联想</p>
<p>提示本身与显示数据的层是分开的，而且都需要关联文本框的变化。这么经过分析这些变化与不变的点后，发现很适</p>
<p>合观察者模式，提示数据类和显示数据层类都需要观察文本框有没有变化，而有变化时就触发变化事件，而引起两个</p>
<p>类去做触发后的事情。</p>
<p>变化与不变是我们需要分析的最重要的部分，这个便是设计模式中独孤九剑的总纲。当然熟悉金庸书的人也知道要有破剑式，破掌式等等，等有时间了我再把这个类别也写出来。</p>
<img src ="http://www.cnblogs.com/liuxiaoyi666/aggbug/1229668.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41952/" target="_blank">[新闻]十月上市 Google手机HTC Dream官方图现</a>]]></description></item><item><title>InstallShield10.5中项目选择的简单介绍（InstallShield10.5从入门到精通一） </title><link>http://www.cnblogs.com/liuxiaoyi666/archive/2006/11/02/547901.html</link><dc:creator>csdn兔</dc:creator><author>csdn兔</author><pubDate>Thu, 02 Nov 2006 06:57:00 GMT</pubDate><guid>http://www.cnblogs.com/liuxiaoyi666/archive/2006/11/02/547901.html</guid><wfw:comment>http://www.cnblogs.com/liuxiaoyi666/comments/547901.html</wfw:comment><comments>http://www.cnblogs.com/liuxiaoyi666/archive/2006/11/02/547901.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/liuxiaoyi666/comments/commentRss/547901.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/liuxiaoyi666/services/trackbacks/547901.html</trackback:ping><description><![CDATA[<div style="TEXT-INDENT: 21pt">在这里只介绍两种项目的基本概念，一种是InstallScript Project另一种是Basic MSI Project。</div>
<div style="TEXT-INDENT: 21pt">通常可以选择到底用哪种项目可以这么介定：如果项目没有自定义的对话框而且没有修改xml配置文件的要求的话，选用Basic MSI Project。反之，如果在项目中需要自定义对话框且需要做对xml等外部文件的修改的时候，选用InstallScript Project。参考文章：<a href="http://www.jaron.cn/chs_Others/40/2006-09/101844.shtml">http://www.jaron.cn/chs_Others/40/2006-09/101844.shtml</a>（问题一）。</div>
<div style="TEXT-INDENT: 21pt">两种项目的定义如下：</div>
<div style="TEXT-INDENT: 21pt">InstallScript Project 在帮助文件是这么解释的：</div>
<div style="TEXT-INDENT: 21pt">The InstallScript installation project type provides the power and flexibility of the InstallScript programming language and the familiarity of the InstallShield Professional project. Windows Installer is not used at all. The installation is completely script driven and very flexible, and it uses the InstallScript engine, the same trusted engine used by InstallShield Professional.</div>
<div style="TEXT-INDENT: 21pt">&nbsp;</div>
<div style="TEXT-INDENT: 21pt">Basic MSI Project在帮助文件是这么解释的：</div>
<div style="TEXT-INDENT: 21pt">Basic MSI is the Windows Installer-based project type in InstallShield. Basic MSI projects are recommended in cases where the Windows Installer service should drive the entire installation. They allow you to author your installation using only the native Windows Installer feature set. The geometry of your end user dialogs as well as the flow of your setup user interface (UI) is authored directly in the MSI package, and the Windows Installer Service uses its native user interface rendering capabilities to display the UI to your end users. The advantages of this project type are fully realized if you need to author your installation in an open format.</div>
<div style="TEXT-INDENT: 21pt">&nbsp;</div>
<span style="FONT-SIZE: 10.5pt">在帮助文件还特别对比了两种项目，有兴趣的可以在帮助文件的索引中输入</span><span style="FONT-SIZE: 10.5pt">InstallScript vs. Basic MSI installation projects</span><span style="FONT-SIZE: 10.5pt">关键字进行查询。</span>&nbsp;
<img src ="http://www.cnblogs.com/liuxiaoyi666/aggbug/547901.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41951/" target="_blank">[新闻]2008年8月29日IT博客精选</a>]]></description></item><item><title>javascript写的图片转换</title><link>http://www.cnblogs.com/liuxiaoyi666/archive/2006/06/21/431856.html</link><dc:creator>csdn兔</dc:creator><author>csdn兔</author><pubDate>Wed, 21 Jun 2006 09:43:00 GMT</pubDate><guid>http://www.cnblogs.com/liuxiaoyi666/archive/2006/06/21/431856.html</guid><wfw:comment>http://www.cnblogs.com/liuxiaoyi666/comments/431856.html</wfw:comment><comments>http://www.cnblogs.com/liuxiaoyi666/archive/2006/06/21/431856.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/liuxiaoyi666/comments/commentRss/431856.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/liuxiaoyi666/services/trackbacks/431856.html</trackback:ping><description><![CDATA[<p>&lt;html&gt;<br>&lt;head&gt;<br>&lt;meta http-equiv="Content-Type" content="text/html; charset=gb2312" /&gt;<br>&lt;script lanuage='javascript'&gt;<br>function controlimg(imgid)<br>{<br>&nbsp; this.objid=imgid;<br>&nbsp; this.imgnum=0;<br>&nbsp; this.imgarr=new Array();&nbsp; <br>}</p>
<p>controlimg.prototype.add=addimg;<br>controlimg.prototype.loadpic=preload;<br>controlimg.prototype.convert=changeimg;</p>
<p>function addimg(imgsrc,href)<br>{<br>&nbsp; this.imgarr[this.imgarr.length]={<br>&nbsp; "imgsrc":imgsrc,<br>&nbsp; "href":href<br>&nbsp; }<br>}</p>
<p>function preload(){<br>&nbsp;for(i=0;i&lt;this.imgarr.length;i++)<br>&nbsp;{<br>&nbsp;&nbsp; eval("img_"+this.objid+"_"+i+"=new Image()");<br>&nbsp;&nbsp; eval("img_"+this.objid+"_"+i+".src=this.imgarr[i].imgsrc");<br>&nbsp;} <br>}</p>
<p>function changeimg(picpos)<br>{<br>&nbsp; if(this.imgnum&gt;=this.imgarr.length)<br>&nbsp; {<br>&nbsp;&nbsp;&nbsp; this.imgnum=0;<br>&nbsp; }<br>&nbsp;/* if(picpos.length!=0)<br>&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp; this.imgnum=Math.round(picpos);<br>&nbsp; }*/<br>&nbsp; var obj_img=document.getElementById(this.objid);<br>&nbsp; obj_img.style.filter=(obj_img.style.filter=="revealTrans")?"revealTrans":"blendTrans";<br>&nbsp; obj_img.style.filter.duration = 3.0000;<br>&nbsp; obj_img.style.filter.transition = 23;<br>&nbsp; obj_img.filters(0).apply();<br>&nbsp; obj_img.src=this.imgarr[this.imgnum].imgsrc;<br>&nbsp; obj_img.parentNode.href=this.imgarr[this.imgnum].href;<br>&nbsp; obj_img.filters(0).play();<br>&nbsp; this.imgnum=this.imgnum+1;<br>&nbsp; //window.setTimeout("changeimg()",3000);<br>}<br>var obj_convert;<br>function init()<br>{<br>&nbsp; obj_convert=new controlimg("img")<br>&nbsp; obj_convert.add("images/00logo.gif","<a href="http://www.google.com/">http://www.google.com</a>");<br>&nbsp; obj_convert.add("images/0.gif","<a href="http://www.baidu.com/">http://www.baidu.com</a>");<br>&nbsp; obj_convert.add("images/06top_42.gif","<a href="http://www.csdn.net/">http://www.csdn.net</a>");<br>&nbsp; obj_convert.loadpic();<br>&nbsp; window.setInterval("obj_convert.convert()",3000);<br>}</p>
<p>&lt;/script&gt;<br>&lt;/head&gt;</p>
<p>&lt;body onload="init();"&gt;<br>&lt;a href="<a href="http://www.google.com/">http://www.google.com</a>" target="_blank"&gt;&lt;img src="images/00logo.gif" id="img" width="100" height="100" /&gt;&lt;/a&gt;<br>&lt;/body&gt;<br>&lt;/html&gt;<br></p>
<img src ="http://www.cnblogs.com/liuxiaoyi666/aggbug/431856.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41950/" target="_blank">[新闻]微软在华布局农村手机 定位小城镇和打工者</a>]]></description></item><item><title>在dotnet下用c#编写下载器</title><link>http://www.cnblogs.com/liuxiaoyi666/archive/2006/06/02/415826.html</link><dc:creator>csdn兔</dc:creator><author>csdn兔</author><pubDate>Fri, 02 Jun 2006 06:23:00 GMT</pubDate><guid>http://www.cnblogs.com/liuxiaoyi666/archive/2006/06/02/415826.html</guid><wfw:comment>http://www.cnblogs.com/liuxiaoyi666/comments/415826.html</wfw:comment><comments>http://www.cnblogs.com/liuxiaoyi666/archive/2006/06/02/415826.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/liuxiaoyi666/comments/commentRss/415826.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/liuxiaoyi666/services/trackbacks/415826.html</trackback:ping><description><![CDATA[<p>System.Net.WebClient client=new WebClient();<br>&nbsp;&nbsp;&nbsp;byte[] page=client.DownloadData("<a href="http://www.google.com/" _fcksavedurl="http://www.google.com">http://www.google.com</a>");<br>&nbsp;&nbsp;&nbsp;string content=System.Text.Encoding.UTF8.GetString(page);</p>
<p>在dotnet下经常使用此类方法</p>
<p>&nbsp;string hostName="<a href="http://www.nnn.net/" _fcksavedurl="http://www.nnn.net">www.nnn.net</a>"; <br>&nbsp;&nbsp;&nbsp;label1.Text="xxx";<br>&nbsp;&nbsp;&nbsp;int port=80; <br>&nbsp;&nbsp;&nbsp;IPHostEntry ipInfo=Dns.GetHostByName(hostName); <br>&nbsp;&nbsp;&nbsp;//取得IPAddress[] <br>&nbsp;&nbsp;&nbsp;IPAddress[] ipAddr=ipInfo.AddressList; <br>&nbsp;&nbsp;&nbsp;//得到ip <br>&nbsp;&nbsp;&nbsp;IPAddress ip=ipAddr[0];<br>&nbsp;&nbsp;&nbsp;IPEndPoint hostEP=new IPEndPoint(ip,port); <br>&nbsp;&nbsp;&nbsp;Socket socket=new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);&nbsp;<br>&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;socket.Connect(hostEP);&nbsp;<br><br>&nbsp;&nbsp;&nbsp;string sendStr="GET "+"/tryst/default.asp"+" HTTP/1.1\r\nHost: " + hostName + "\r\nConnection: Close\r\n\r\n"; <br>&nbsp;&nbsp;&nbsp;//创建bytes字节数组以转换发送串 <br>&nbsp;&nbsp;&nbsp;byte[] bytesSendStr=new byte[1024]; <br>&nbsp;&nbsp;&nbsp;//将发送内容字符串转换成字节byte数组 <br>&nbsp;&nbsp;&nbsp;bytesSendStr=Encoding.ASCII.GetBytes(sendStr); <br>&nbsp;&nbsp;&nbsp;socket.Send(bytesSendStr,bytesSendStr.Length,0); <br>&nbsp;&nbsp;&nbsp;//声明接收返回内容的字符串 <br>&nbsp;&nbsp;&nbsp;string recvStr=""; <br>&nbsp;&nbsp;&nbsp;//声明字节数组，一次接收数据的长度为1024字节 <br>&nbsp;&nbsp;&nbsp;byte[] recvBytes=new byte[1024]; <br>&nbsp;&nbsp;&nbsp;//返回实际接收内容的字节数 <br>&nbsp;&nbsp;&nbsp;int bytes=0; <br>&nbsp;&nbsp;&nbsp;//循环读取，直到接收完所有数据 <br>&nbsp;&nbsp;&nbsp;while(true) <br>&nbsp;&nbsp;&nbsp;{ <br>&nbsp;&nbsp;&nbsp;&nbsp;bytes=socket.Receive(recvBytes,recvBytes.Length,0); <br>&nbsp;&nbsp;&nbsp;&nbsp;//读取完成后退出循环 <br>&nbsp;&nbsp;&nbsp;&nbsp;if(bytes&lt;=0) <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break; <br>&nbsp;&nbsp;&nbsp;&nbsp;//将读取的字节数转换为字符串 <br>&nbsp;&nbsp;&nbsp;&nbsp;recvStr+=Encoding.ASCII.GetString(recvBytes,0,bytes); <br>&nbsp;&nbsp;&nbsp;} </p>
<p>&nbsp;</p>
<p><br>socket 方式以及模型：</p>
<p>不能看出跟程序的匹配，下载都是客户机的机制，解释出地址后，声明socket，发送一段报文，返回信息</p>
<p>报文string sendStr="GET "+"/tryst/default.asp"+" HTTP/1.1\r\nHost: " + hostName + "\r\nConnection: Close\r\n\r\n"; <br>用get方式，得到网站里的某一个页面，如果想得到网页信息与webclient一样可以用正则表达式</p>
<img src ="http://www.cnblogs.com/liuxiaoyi666/aggbug/415826.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41949/" target="_blank">[新闻]暴雪确认《星际争霸2》将不会在08年内发售</a>]]></description></item><item><title>scripting.dictionary的彻底研究 </title><link>http://www.cnblogs.com/liuxiaoyi666/archive/2006/05/29/412487.html</link><dc:creator>csdn兔</dc:creator><author>csdn兔</author><pubDate>Mon, 29 May 2006 15:20:00 GMT</pubDate><guid>http://www.cnblogs.com/liuxiaoyi666/archive/2006/05/29/412487.html</guid><wfw:comment>http://www.cnblogs.com/liuxiaoyi666/comments/412487.html</wfw:comment><comments>http://www.cnblogs.com/liuxiaoyi666/archive/2006/05/29/412487.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/liuxiaoyi666/comments/commentRss/412487.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/liuxiaoyi666/services/trackbacks/412487.html</trackback:ping><description><![CDATA[<p>关于script的dictionary对象，其实我想一开始ms是借鉴了python之类的动态脚本语言的，而且是面对客户端开发的关于这一点可以参考wrox的asp程序员参考手册里第137页里，如果在session级保存一个dictionary对象会降低系统的性能，而在application级保存一个dictionary对象会导致web服务器崩溃，关于这个就不在多说了。</p>
<p>现在我们要考虑的是dictionary对象在单页的时候，有哪些设计时的缺陷：</p>
<p>大家可以这么试试</p>
<p>set rs=server.createobject("adodb.recordset")</p>
<p>sql="select * from table"</p>
<p>rs.open sql,conn,1,3</p>
<p>set ttt=server.createobject("scripting.dictionary")</p>
<p>ttt.add "xxx",rs("field")</p>
<p>set rs=nothing</p>
<p>liu=ttt("xxx") '当你这么做的时候会发现一件什么事呢？asp页会告诉你发生意外！！！这个就很令人诧异了，什么是意外呢？很难说，后来经过我反复的测试发现是因为不能把rs("field")的值直接给dictionary对象，经过反复研究得出的结论是如下的：dictionry是把rs("field")的内存地址给储存了，这样的话，我刚才写的那个无疑是一种灾难，解决方法是把这个rs("field")放到一个变量里就可以解决了，但是dictionary对象难道不可以保存一个被nothing过的对象么？这个就是一个很大的疑问了，所以我又写了这么一段程序，大家可以保存成try.htm看看效果的</p>
<p>&lt;script language='vbscript'&gt;<br>set ttt=createobject("scripting.dictionary")<br>ttt.add "liu","uuu"<br>set ddd=createobject("scripting.dictionary")<br>ddd.add "ppp",ttt<br>set ttt=nothing<br>bbb=ddd("ppp")("liu")<br>alert(bbb)<br>&lt;/script&gt;</p>
<p>结果是什么？你会发现一段alert了uuu说明是没有问题的，这就说明dictionary对象其实是把另一个dictionary对象整个clone进来了，这就更验证了wrox的书中写的，dictionary对象在ms开发的时候其实是针对客户端的，这种说法了</p>
<p>还有对数组与dictionary合用的代码也可以给大家看看的</p>
<p>&lt;script language='vbscript'&gt;<br>i=1<br>picname=("xxx")<br>str="set " &amp; "pic_" &amp; i &amp; "=createobject(" &amp; """" &amp; "scripting.dictionary" &amp; """" &amp; ")"<br>execute(str)<br>str="pic_" &amp; i &amp; ".add " &amp; """" &amp; "picname" &amp; """" &amp; "," &amp; """" &amp; picname &amp; """"<br>execute(str)<br>dim ttt()<br>redim ttt(5)<br>ttt(0)="uuu"<br>pic_1.add "item",ttt<br>liu=pic_1("picname")</p>
<p>set pic_2=createobject("scripting.dictionary")<br>erase ttt<br>redim ttt(5)<br>ttt(0)="iii"<br>nnn=pic_1("item")(0)<br>pic_2.add "rrr",ttt<br>zzz=pic_2("rrr")(0)<br>alert(liu)<br>alert(nnn)<br>alert(zzz)<br>&lt;/script&gt;</p>
<img src ="http://www.cnblogs.com/liuxiaoyi666/aggbug/412487.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41948/" target="_blank">[新闻]福布斯:IE8很多功能针对谷歌 微软要玩偷袭</a>]]></description></item><item><title>用概率论的方法实现理想化程序 </title><link>http://www.cnblogs.com/liuxiaoyi666/archive/2006/05/28/411509.html</link><dc:creator>csdn兔</dc:creator><author>csdn兔</author><pubDate>Sun, 28 May 2006 13:20:00 GMT</pubDate><guid>http://www.cnblogs.com/liuxiaoyi666/archive/2006/05/28/411509.html</guid><wfw:comment>http://www.cnblogs.com/liuxiaoyi666/comments/411509.html</wfw:comment><comments>http://www.cnblogs.com/liuxiaoyi666/archive/2006/05/28/411509.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/liuxiaoyi666/comments/commentRss/411509.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/liuxiaoyi666/services/trackbacks/411509.html</trackback:ping><description><![CDATA[<p>碰到的问题如下</p>
<p><a href="http://community.csdn.net/Expert/topic/4503/4503918.xml?temp=.6404383">http://community.csdn.net/Expert/topic/4503/4503918.xml?temp=.6404383</a></p>
<p>我有一个网页需要从TextArea上传一千条记录信息，然后插入后台数据库中，ASP中的实现是通过循环调用一千次插入的存储过程，但是这样的执行效率非常低，前台网页需要等好几分钟才能得到上传成功的消息，请问有没有什么好的办法，能够在几秒钟之内完成这一千条记录的插入问题</p>
<p>我照你的方法试了一下，有两个问题不知如何解决：1，我需要的是1000条Insert SQL语句，每条语句可能有1000个字符长，总共最长可能是100万个字符，SQL Server最大只支持8000个字符；2，Insert的内容可能数据库中已经有了这条记录，这时候就要用Update语句，而且最后要统计总共插入了多少条有效记录。这两个问题该如何解决呢？</p>
<p>制造一个存储过程</p>
<p>@str是一个输入值<br>exec sp_executesql @str</p>
<p><br>asp里是这么写<br>sql="insert into&nbsp; tryfangq([user],[count]) values('x',1)"<br>sql=sql &amp; " insert into&nbsp; tryfangq([user],[count]) values('t',2)"</p>
<p>asp怎么调用存储过程我就不写了,这样的是一次调用全部执行<br></p>
<p>制造一个存储过程</p>
<p>@str是一个输入值<br>exec sp_executesql @str</p>
<p><br>asp里是这么写<br>sql="insert into&nbsp; tryfangq([user],[count]) values('x',1)"<br>sql=sql &amp; " insert into&nbsp; tryfangq([user],[count]) values('t',2)"</p>
<p>asp怎么调用存储过程我就不写了,这样的是一次调用全部执行<br></p>
<p>join&nbsp;&nbsp; 是一个script函数</p>
<p>参考帖子<a href="http://community.csdn.net/Expert/topic/4497/4497092.xml?temp=.9665644">http://community.csdn.net/Expert/topic/4497/4497092.xml?temp=.9665644</a></p>
<p>一般情况下无所的,如果碰上大字符串连接的时候就需要,不用看meizz写的,看底下的vbs版本的</p>
<p>还有可以找个手册看看</p>
<p>那给你简单讲一下数学期望，并把你的问题建立一个数学模型</p>
<p>你要去检查textarea的值是不是在数据库了，现在你的方法是这样的：每一次都检查一下，然后呢，再去添加</p>
<p>我想到的呢是：按k个一组，混合在一起去检查一次，如果这个k个混合的都不是和数据库里相同就一次性的insert，否则就分别进行化验，这样总共要化验k+1次，假定，textarea的值与数据库中的相同的概率是p，且textarea的值都是互不影响的话，我们可以用如下方法解：</p>
<p>q=1-p,则k个值的混合不在数据库中的概率为q的k次方，有可能在的概率为1-q的k次方，而textarea的值需要检查的次数的X是一个随机变量，其分布率为：<br>X&nbsp;&nbsp; 1/k&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1+(1/k)<br>pk&nbsp; q的k次方&nbsp;&nbsp; 1-q的k次方<br>于是每个textarea的值平均需化验的次数为<br>E(X)=(1/k)*q的k次方+(1+1/k)(1-q的k次方)=1-q的k次方+1/k<br>N个数平均需化验的次数为<br>N*(1-q的k次方+1/k)<br>由此可知，只要选择k使<br>1-q的k次方+1/k&lt;1<br>既<br>q的k次方-1/k&gt;0<br>当p固定时，我们选取k使得<br>L=1-q的k次方+1/k<br>取得最小值，这时就是最好的分组方法，当然我们这里有个概念就是不能大于8000个字符的上限</p>
<p>例如p=0.1当k=4时，若N=1000，那么N个值平均只需化验<br>594次</p>
<img src ="http://www.cnblogs.com/liuxiaoyi666/aggbug/411509.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41947/" target="_blank">[新闻]施密特：谷歌计划十月份开始推进与雅虎合作</a>]]></description></item><item><title> dotnet下生成简单sql语句</title><link>http://www.cnblogs.com/liuxiaoyi666/archive/2006/05/28/411082.html</link><dc:creator>csdn兔</dc:creator><author>csdn兔</author><pubDate>Sat, 27 May 2006 17:16:00 GMT</pubDate><guid>http://www.cnblogs.com/liuxiaoyi666/archive/2006/05/28/411082.html</guid><wfw:comment>http://www.cnblogs.com/liuxiaoyi666/comments/411082.html</wfw:comment><comments>http://www.cnblogs.com/liuxiaoyi666/archive/2006/05/28/411082.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/liuxiaoyi666/comments/commentRss/411082.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/liuxiaoyi666/services/trackbacks/411082.html</trackback:ping><description><![CDATA[<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;insert_sql(</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&nbsp;tablename,Hashtable&nbsp;param_employeefield,</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&nbsp;connstring)<br><img id=Codehighlighter1_98_1060_Open_Image onclick="this.style.display='none'; Codehighlighter1_98_1060_Open_Text.style.display='none'; Codehighlighter1_98_1060_Closed_Image.style.display='inline'; Codehighlighter1_98_1060_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_98_1060_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_98_1060_Closed_Text.style.display='none'; Codehighlighter1_98_1060_Open_Image.style.display='inline'; Codehighlighter1_98_1060_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" align=top>&nbsp;&nbsp;</span><span id=Codehighlighter1_98_1060_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cnblogs.com/images/dot.gif"></span><span id=Codehighlighter1_98_1060_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">System.Web.HttpContext.Current.Response.Write("xxx");</span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;Hashtable&nbsp;ht_field</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Hashtable();<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;ht_field</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">getfieldtype(tablename,connstring);&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">表的字段</span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&nbsp;field_value;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&nbsp;field_type;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">字段类型</span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&nbsp;str_sql_fieldname</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">insert&nbsp;into&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">tablename(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">插入语句</span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&nbsp;str_sql_fieldvalue</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;values(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&nbsp;str_sql;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">foreach</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">object</span><span style="COLOR: #000000">&nbsp;obj_param&nbsp;</span><span style="COLOR: #0000ff">in</span><span style="COLOR: #000000">&nbsp;param_employeefield)<br><img id=Codehighlighter1_485_763_Open_Image onclick="this.style.display='none'; Codehighlighter1_485_763_Open_Text.style.display='none'; Codehighlighter1_485_763_Closed_Image.style.display='inline'; Codehighlighter1_485_763_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_485_763_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_485_763_Closed_Text.style.display='none'; Codehighlighter1_485_763_Open_Image.style.display='inline'; Codehighlighter1_485_763_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_485_763_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cnblogs.com/images/dot.gif"></span><span id=Codehighlighter1_485_763_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;field_type</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">ht_field[obj_param.ToString()].ToString();</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">获取&nbsp;int型&nbsp;or&nbsp;varchar型等等</span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;field_value</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">param_employeefield[obj_param].ToString();<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;str_sql_fieldname</span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000">param_employeefield[obj_param].ToString()</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;str_sql_fieldvalue</span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000">judgetype(field_type,field_value)</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;str_sql_fieldname</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">str_sql_fieldname.Substring(</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">,str_sql_fieldname.Length)</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;str_sql_fieldvalue</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">str_sql_fieldvalue.Substring(</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">,str_sql_fieldvalue.Length)</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;str_sql</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">str_sql_fieldname</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">str_sql_fieldvalue;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;nsn.core.SqlHelper.ExecuteNonQuery(connstring,CommandType.Text,str_sql);<br><img src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;</span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;update_sql(</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&nbsp;tablename,Hashtable&nbsp;param_employeefield,</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&nbsp;connstring)<br><img id=Codehighlighter1_1163_1851_Open_Image onclick="this.style.display='none'; Codehighlighter1_1163_1851_Open_Text.style.display='none'; Codehighlighter1_1163_1851_Closed_Image.style.display='inline'; Codehighlighter1_1163_1851_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_1163_1851_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1163_1851_Closed_Text.style.display='none'; Codehighlighter1_1163_1851_Open_Image.style.display='inline'; Codehighlighter1_1163_1851_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" align=top>&nbsp;&nbsp;</span><span id=Codehighlighter1_1163_1851_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cnblogs.com/images/dot.gif"></span><span id=Codehighlighter1_1163_1851_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;Hashtable&nbsp;ht_field</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Hashtable();<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;ht_field</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">getfieldtype(tablename,connstring);<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&nbsp;field_value;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&nbsp;field_type;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;StringBuilder&nbsp;str_sql&nbsp;&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;StringBuilder();&nbsp;&nbsp;&nbsp;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;str_sql.Append(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">update&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">tablename&nbsp;set&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&nbsp;sql1;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">foreach</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">object</span><span style="COLOR: #000000">&nbsp;obj_param&nbsp;</span><span style="COLOR: #0000ff">in</span><span style="COLOR: #000000">&nbsp;param_employeefield)<br><img id=Codehighlighter1_1469_1696_Open_Image onclick="this.style.display='none'; Codehighlighter1_1469_1696_Open_Text.style.display='none'; Codehighlighter1_1469_1696_Closed_Image.style.display='inline'; Codehighlighter1_1469_1696_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1469_1696_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1469_1696_Closed_Text.style.display='none'; Codehighlighter1_1469_1696_Open_Image.style.display='inline'; Codehighlighter1_1469_1696_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_1469_1696_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cnblogs.com/images/dot.gif"></span><span id=Codehighlighter1_1469_1696_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;field_type</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">ht_field[obj_param.ToString()].ToString();<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;field_value</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">param_employeefield[obj_param].ToString();<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;str_sql.Append(param_employeefield[obj_param].ToString()</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">judgetype(field_type,field_value)</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;sql1</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">str_sql.ToString().Substring(</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">,str_sql.ToString().Length</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">)</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;where</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;nsn.core.SqlHelper.ExecuteNonQuery(connstring,CommandType.Text,sql1);<br><img src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;</span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">protected</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&nbsp;judgetype(</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&nbsp;field_type,</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&nbsp;field_value)<br><img id=Codehighlighter1_1930_2365_Open_Image onclick="this.style.display='none'; Codehighlighter1_1930_2365_Open_Text.style.display='none'; Codehighlighter1_1930_2365_Closed_Image.style.display='inline'; Codehighlighter1_1930_2365_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_1930_2365_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1930_2365_Closed_Text.style.display='none'; Codehighlighter1_1930_2365_Open_Image.style.display='inline'; Codehighlighter1_1930_2365_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" align=top>&nbsp;&nbsp;</span><span id=Codehighlighter1_1930_2365_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cnblogs.com/images/dot.gif"></span><span id=Codehighlighter1_1930_2365_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&nbsp;str_value;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">switch</span><span style="COLOR: #000000">(field_type)<br><img id=Codehighlighter1_1978_2338_Open_Image onclick="this.style.display='none'; Codehighlighter1_1978_2338_Open_Text.style.display='none'; Codehighlighter1_1978_2338_Closed_Image.style.display='inline'; Codehighlighter1_1978_2338_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1978_2338_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1978_2338_Closed_Text.style.display='none'; Codehighlighter1_1978_2338_Open_Image.style.display='inline'; Codehighlighter1_1978_2338_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_1978_2338_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cnblogs.com/images/dot.gif"></span><span id=Codehighlighter1_1978_2338_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">case</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">int</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str_value</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">field_value;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">break</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">case</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">varchar</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">:&nbsp;str_value</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">field_value</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">break</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">case</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">ntext</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">:&nbsp;&nbsp;&nbsp;str_value</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">field_value</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">break</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">case</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">datetime</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">:str_value</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">field_value</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">break</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">case</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">tinyint</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">:&nbsp;str_value</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">field_value;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">break</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">case</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">smallint</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">:&nbsp;str_value</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">field_value;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">break</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">(field_type);<br><img src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;</span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">protected</span><span style="COLOR: #000000">&nbsp;Hashtable&nbsp;getfieldtype(</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&nbsp;tablename,</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&nbsp;connstring)<br><img id=Codehighlighter1_2448_3105_Open_Image onclick="this.style.display='none'; Codehighlighter1_2448_3105_Open_Text.style.display='none'; Codehighlighter1_2448_3105_Closed_Image.style.display='inline'; Codehighlighter1_2448_3105_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_2448_3105_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2448_3105_Closed_Text.style.display='none'; Codehighlighter1_2448_3105_Open_Image.style.display='inline'; Codehighlighter1_2448_3105_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" align=top>&nbsp;&nbsp;</span><span id=Codehighlighter1_2448_3105_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cnblogs.com/images/dot.gif"></span><span id=Codehighlighter1_2448_3105_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;DataSet&nbsp;ds&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;DataSet();<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;Hashtable&nbsp;ht_field</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Hashtable();<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;SqlParameter[]&nbsp;paramsToStore&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;SqlParameter[</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">];&nbsp;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;paramsToStore[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">]&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;SqlParameter(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">@tablename</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;SqlDbType.NVarChar);<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;paramsToStore[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">].Direction</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">ParameterDirection.Input;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;paramsToStore[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">].Value</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">tablename;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;ds</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">nsn.core.SqlHelper.ExecuteDataset(connstring,CommandType.StoredProcedure,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">main_searchtable</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,paramsToStore);<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;DataTable&nbsp;tbl</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">ds.Tables[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">];<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">foreach</span><span style="COLOR: #000000">(DataRow&nbsp;row&nbsp;</span><span style="COLOR: #0000ff">in</span><span style="COLOR: #000000">&nbsp;tbl.Rows)<br><img id=Codehighlighter1_2932_3080_Open_Image onclick="this.style.display='none'; Codehighlighter1_2932_3080_Open_Text.style.display='none'; Codehighlighter1_2932_3080_Closed_Image.style.display='inline'; Codehighlighter1_2932_3080_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_2932_3080_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2932_3080_Closed_Text.style.display='none'; Codehighlighter1_2932_3080_Open_Image.style.display='inline'; Codehighlighter1_2932_3080_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_2932_3080_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cnblogs.com/images/dot.gif"></span><span id=Codehighlighter1_2932_3080_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;ht_field.Add(row[</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">字段名</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">].ToString(),row[</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">类型</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">].ToString());<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">System.Web.HttpContext.Current.Response.Write(row["字段名"].ToString());</span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">(ht_field);<br><img src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></span></div>
<p>main_searchtable 存储过程是<br>CREATE PROCEDURE main_searchtable <br>@tablename nvarchar(50) <br>AS&nbsp; <br>&nbsp; <br>SELECT&nbsp;&nbsp; <br>&nbsp;表名=case when a.colorder=1 then d.name else '' end,&nbsp; <br>&nbsp;表说明=case when a.colorder=1 then isnull(f.value,'') else '' end,&nbsp; <br>&nbsp;字段序号=a.colorder,&nbsp; <br>&nbsp;字段名=a.name,&nbsp; <br>&nbsp;标识=case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '&#8730;'else '' end,&nbsp; <br>&nbsp;类型=b.name&nbsp; <br>&nbsp; <br>&nbsp;&nbsp; <br>FROM syscolumns a&nbsp; <br>&nbsp;left join systypes b on a.xtype=b.xusertype&nbsp; <br>&nbsp;inner join sysobjects d on a.id=d.id&nbsp; and d.xtype='U' and&nbsp; d.name&lt;&gt;'dtproperties'&nbsp; <br>&nbsp; <br>&nbsp;left join sysproperties f on d.id=f.id and f.smallid=0&nbsp; <br>&nbsp; <br>where <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#100;&#46;&#110;&#97;&#109;&#101;&#61;&#64;&#116;&#97;&#98;&#108;&#101;&#110;&#97;&#109;&#101;">d.name=@tablename</a>&nbsp;&nbsp;&nbsp; --如果只查询指定表,加上此条件&nbsp; <br>order by a.id,a.colorder<br>GO</p>
<img src ="http://www.cnblogs.com/liuxiaoyi666/aggbug/411082.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41947/" target="_blank">[新闻]施密特：谷歌计划十月份开始推进与雅虎合作</a>]]></description></item><item><title>web下的投票系统设计 </title><link>http://www.cnblogs.com/liuxiaoyi666/archive/2006/05/26/409903.html</link><dc:creator>csdn兔</dc:creator><author>csdn兔</author><pubDate>Fri, 26 May 2006 04:42:00 GMT</pubDate><guid>http://www.cnblogs.com/liuxiaoyi666/archive/2006/05/26/409903.html</guid><wfw:comment>http://www.cnblogs.com/liuxiaoyi666/comments/409903.html</wfw:comment><comments>http://www.cnblogs.com/liuxiaoyi666/archive/2006/05/26/409903.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnblogs.com/liuxiaoyi666/comments/commentRss/409903.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/liuxiaoyi666/services/trackbacks/409903.html</trackback:ping><description><![CDATA[<p>投票的选择的不确定性常常使我们在设计数据库的时候感到无从下手。所以我用的不是数据库保存的投票选项而是用的xml。用xml的设计的好处有很多，其中包括我们可以在其中保留很多的属性，在设计的时候，也可以进行多重选择都是一个很好的办法，用xsl对生成的xml文件进行解析这样的设计模式感觉很爽</p>
<p>我的xml的sample是这样的<br>&lt;?xml version='1.0' encoding='gb2312' ?&gt;<br>&lt;?xml-stylesheet type='text/xsl' href='votesample.xsl'?&gt;<br>&lt;root&gt;<br>&lt;Questionname&gt;&lt;![CDATA[我们的网站好看么？]]&gt;&lt;/Questionname&gt;<br>&lt;Choose select='radio' votekindid='1'&gt;<br>&nbsp; &lt;ChooseItem value='a'&gt;&lt;![CDATA[好看]]&gt;&lt;/ChooseItem&gt;<br>&nbsp; &lt;ChooseItem value='b'&gt;&lt;![CDATA[不好看]]&gt;&lt;/ChooseItem&gt;<br>&nbsp; &lt;ChooseItem value='c'&gt;&lt;![CDATA[不知道]]&gt;&lt;/ChooseItem&gt;<br>&nbsp; &lt;ChooseItem value='d'&gt;&lt;![CDATA[无所谓]]&gt;&lt;/ChooseItem&gt;<br>&lt;/Choose&gt;<br>&lt;/root&gt;</p>
<p>xsl的sample：<br>&lt;?xml version="1.0" encoding="gb2312" ?&gt; <br>&lt;xsl:stylesheet version="1.0" xmlns:xsl="<a href="http://www.w3.org/1999/XSL/Transform">http://www.w3.org/1999/XSL/Transform</a>"&gt;<br>&lt;xsl:output method="xml" indent="yes" encoding="GB2312" /&gt; <br>&lt;xsl:template match="/"&gt;<br>&nbsp; &lt;div&gt;<br>&nbsp;&nbsp;&nbsp; &lt;div&gt;&lt;xsl:value-of select="//root/Questionname" /&gt;&lt;/div&gt;<br>&nbsp;&nbsp;&nbsp; &lt;table width="95%"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsl:variable name="inputelement" select="<a>//root/Choose/@select</a>" /&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;form action="vote/record.asp" target="observe" method="post"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;input type="hidden" name="votekindid" value="<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#123;&#47;&#47;&#114;&#111;&#111;&#116;&#47;&#67;&#104;&#111;&#111;&#115;&#101;&#47;&#64;&#118;&#111;&#116;&#101;&#107;&#105;&#110;&#100;&#105;&#100;">{//root/Choose/@votekindid</a>}" /&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsl:for-each select="//root/Choose/ChooseItem"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;tr&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td align="left"&gt;&lt;input type="{$inputelement}" name="choise" value="<a href='&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#123;&#64;&#118;&#97;&#108;&#117;&#101;&#125;&#34;&#62;&#60;&#120;&#115;&#108;&#58;&#105;&#102;'>{@value}"&gt;&lt;xsl:if</a> test="position()=1"&gt;&lt;xsl:attribute name="checked"&gt;checked&lt;/xsl:attribute&gt;&lt;/xsl:if&gt;&lt;/input&gt;&lt;xsl:value-of select="@value" /&gt;&lt;/td&gt;&lt;td align="left" width="80%"&gt;&lt;xsl:value-of select="." /&gt;&lt;/td&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/tr&gt;&nbsp;&nbsp; <br>&nbsp;&nbsp; &lt;/xsl:for-each&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;tr&gt;&lt;td align="center"&gt;&lt;/td&gt;&lt;td align="left"&gt;&lt;img src="images/index_left_button3.gif" onclick="javascript:newWin(<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#39;&#118;&#111;&#116;&#101;&#47;&#114;&#101;&#115;&#117;&#108;&#116;&#46;&#97;&#115;&#112;&#63;&#118;&#111;&#116;&#101;&#107;&#105;&#110;&#100;&#105;&#100;&#61;&#123;&#47;&#47;&#114;&#111;&#111;&#116;&#47;&#67;&#104;&#111;&#111;&#115;&#101;&#47;&#64;&#118;&#111;&#116;&#101;&#107;&#105;&#110;&#100;&#105;&#100;&#125;&#39;">'vote/result.asp?votekindid={//root/Choose/@votekindid}'</a>)" style="cursor:hand;" /&gt;&nbsp; &lt;input type="image" src="images/index_left_button4.gif" value="提交" onclick="javascript:newWin()" /&gt;&lt;/td&gt;&lt;/tr&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/form&gt;<br>&nbsp;&nbsp;&nbsp; &lt;/table&gt;<br>&nbsp; &lt;/div&gt;<br>&nbsp; &lt;script language="javascript"&gt;<br>&nbsp; &lt;![CDATA[<br>&nbsp; function newWin(url){<br>&nbsp; if(url==''){<br>&nbsp; newWindow=window.open("about:blank","observe","toolbar,resizable,scrollbars,dependent,width=500,height=420,left=150,top=80");<br>&nbsp; newWindow.focus();}<br>&nbsp; else{<br>&nbsp; newWindow=window.open(url,"observe","toolbar,resizable,scrollbars,dependent,width=500,height=420,left=150,top=80");<br>&nbsp; newWindow.focus();<br>&nbsp; }<br>&nbsp; }<br>&nbsp; ]]&gt;<br>&nbsp; &lt;/script&gt;<br>&lt;/xsl:template&gt;<br>&lt;/xsl:stylesheet&gt;</p>
<p>然后用一个vote表，记录一下值<br>用一个sql语句 select votechoose,count(votechoose) from vote where voteid=值 group by votechoose 进行统计</p>
<img src ="http://www.cnblogs.com/liuxiaoyi666/aggbug/409903.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41946/" target="_blank">[新闻]微软加快XP专业版反盗版步伐</a>]]></description></item><item><title>用js写的一个跑马灯</title><link>http://www.cnblogs.com/liuxiaoyi666/archive/2006/05/24/407920.html</link><dc:creator>csdn兔</dc:creator><author>csdn兔</author><pubDate>Wed, 24 May 2006 05:10:00 GMT</pubDate><guid>http://www.cnblogs.com/liuxiaoyi666/archive/2006/05/24/407920.html</guid><wfw:comment>http://www.cnblogs.com/liuxiaoyi666/comments/407920.html</wfw:comment><comments>http://www.cnblogs.com/liuxiaoyi666/archive/2006/05/24/407920.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/liuxiaoyi666/comments/commentRss/407920.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/liuxiaoyi666/services/trackbacks/407920.html</trackback:ping><description><![CDATA[<p>function cls_marquee(id,id1,id2,sp){<br>&nbsp;&nbsp;&nbsp; this.obj_id=id;<br>&nbsp;&nbsp;&nbsp; this.obj_id1=id1;<br>&nbsp;&nbsp;&nbsp; this.obj_id2=id2;<br>&nbsp;&nbsp;&nbsp; this.speed=sp;<br>&nbsp;&nbsp;&nbsp; eval(this.obj_id2+".innerHTML="+this.obj_id1+".innerHTML");<br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp; function Marquee(){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(eval(id2).offsetTop-eval(id).scrollTop&lt;=0)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eval(id).scrollTop-=eval(id1).offsetHeight<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eval(id).scrollTop++<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var MyMar=setInterval(Marquee,sp)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eval(this.obj_id).onmouseover=function() {clearInterval(MyMar)}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eval(this.obj_id).onmouseout=function() {MyMar=setInterval(Marquee,sp)}<br>&nbsp; } </p>
<p>自己刚写的一个小程序，写得满一般的。。。。不过这个接口还成<br></p>
<img src ="http://www.cnblogs.com/liuxiaoyi666/aggbug/407920.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41945/" target="_blank">[新闻]Mozilla与谷歌续签三年搜索合同</a>]]></description></item></channel></rss>