sadier

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  50 随笔 :: 274 文章 :: 268 评论 :: 35 引用

2006年4月26日 #

Set @SchemaCondi = @SchemaCondi + '  SchemaNo Like ' + '''' + @SchemaNo + ''''
posted @ 2006-04-26 16:38 毛小华 阅读(597) 评论(0) 编辑

2006年4月21日 #

可行的处理方案。
1、修改虚拟目录的名称,然后指到程序路径是可以的(验证)。
2、重装IIS是可以的(网上说的由于1步已经成功就没有验证了,没有验证)。

不可行的方案:
1、重启电脑。
2、删除缓存。
3、重新继承权限
posted @ 2006-04-21 09:50 毛小华 阅读(8476) 评论(9) 编辑

2006年4月15日 #

1、利用Session(viewState是不行的,viewState要回传才能读到数据)
如果有个数据包类StockBillMP,则设定
 
        private StockBillMP M_saveobj
        
{
            
get
            
{
                
return (Session["saveobj"== null)?null:(StockBillMP)Session["saveobj"];
            }

            
set
            
{
                Session[
"saveobj"= value;
            }

        }
    

然后用比较函数
 
        private bool checkIsRepeate(StockBillMP objRet)
        
{
            
bool bret = true;  //假设是重复的,不重复就退出
            
            
for(int i=1;i<objRet.objMainProc.arrParams.Length;i++)
            
{
                
string strOld = M_saveobj.objMainProc.arrParams[i].Value.ToString().Trim();
                
string strNew = objRet.objMainProc.arrParams[i].Value.ToString().Trim();
                
if (strOld != strNew)
                
{
                    bret 
= false;
                    
break;
                }

            }

            
if (bret)
            
{
                
for(int i=0;i<objRet.arrSubProc.Length;i++)
                
{
                    
for(int j=1;j<objRet.arrSubProc[i].arrParams.Length;j++)
                    
{
                        
string strOld = M_saveobj.arrSubProc[i].arrParams[j].Value.ToString().Trim();
                        
string strNew = objRet.arrSubProc[i].arrParams[j].Value.ToString().Trim();
                        
if (strOld != strNew)
                        
{
                            bret 
= false;
                            
break;
                        }

                        bret 
= true;
                    }

                    
if(!bret)
                        
break;
                }

            }
                                     
            
            
return bret;
        }

保存成功就更改Session
M_saveobj = objRet;

代价是惨重的,效果还可以,整个包啊
当然仅仅是实现防止提交速度慢,连续点击的情况是设定一个bool变量就可以了,效果如2检查按钮。

2、检查按钮
http://bestcomy.cnblogs.com/archive/2005/10/10/251507.html
此处提供的代码用来实现当asp.net页面中的某个Button被点击后disable掉该页面中所有的Button,从而防止提交延时导致的多次提交。基于之前的onceclickbutton脚本.

<script language="javascript">
        
<!--
        
        
function disableOtherSubmit()
        {            
var obj = event.srcElement;
            
var objs = document.getElementsByTagName('INPUT');
            
for(var i=0; i<objs.length; i++)
            {
                
if(objs[i].type.toLowerCase() == 'submit')
                {
                    objs[i].disabled 
= true;
                }
            }        }
            
        
//-->
        </script>
public class PreventMultiClick : System.Web.UI.Page
    {
        
protected System.Web.UI.WebControls.Button Button1;
        
protected System.Web.UI.WebControls.Button Button2;
        
protected System.Web.UI.WebControls.LinkButton LinkButton1;
        
protected System.Web.UI.WebControls.Button Button3;
    
        
private void Page_Load(object sender, System.EventArgs e)
        {
            
this.GetPostBackEventReference(this.Button3);        //保证 __doPostBack(eventTarget, eventArgument) 正确注册
            if(!IsPostBack)
            {
                System.Text.StringBuilder sb 
= new System.Text.StringBuilder();
                sb.Append(
"if (typeof(Page_ClientValidate) == 'function') { if (Page_ClientValidate() == false) { return false; }}");    //保证验证函数的执行
                sb.Append("if(window.confirm('are you sure?')==false) return false;");        //自定义客户端脚本
                sb.Append("disableOtherSubmit();");        // disable所有submit按钮
                sb.Append(this.GetPostBackEventReference(this.Button3));    //用__doPostBack来提交,保证按钮的服务器端click事件执行
                sb.Append(";");
                Button3.Attributes.Add(
"onclick",sb.ToString());
            }
        }

        
#region Web Form Designer generated code
        
override protected void OnInit(EventArgs e)
        {
            
//
            
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
            
//
            InitializeComponent();
            
base.OnInit(e);
        }
        
        
/// <summary>
        
/// Required method for Designer support - do not modify
        
/// the contents of this method with the code editor.
        
/// </summary>
        private void InitializeComponent()
        {    
            
this.Button3.Click += new System.EventHandler(this.Button3_Click);
            
this.Load += new System.EventHandler(this.Page_Load);

        }
        
#endregion

        
private void Button3_Click(object sender, System.EventArgs e)
        {
            System.Threading.Thread.Sleep(
3000);
            Response.Write(
"Hello world!");
        }
    }

此处只是disable掉所有的submit button, 我觉得其它的可提交控件也是可以通过类似的方法来disable的.

posted @ 2006-04-15 10:24 毛小华 阅读(849) 评论(2) 编辑

2006年1月25日 #

 Declare @maxVersion int,@strYear varchar(2),@strMonth varchar(2),@strYearMonth varchar(4)
 Set @strYear  = Right(Cast(Datepart(yy,Getdate()) AS varchar(4)),2)
 Set @strMonth =  Cast(Datepart(mm,Getdate()) AS varchar(4))
 if (Len(@strMonth) = 1)
  Set @strMonth = '0' + @strMonth
  
 Set @strYearMonth = @strYear + @strMonth
 
 select @maxVersion = max(BomVersion) from TBL_Bom Where MaterialNo = @MaterialNo
  
 --当最大值无效,或当前月份有大于最大值月份时
 if (@maxVersion is null OR @maxVersion = 0 OR  Cast(@strYearMonth AS Int)  >  @maxVersion / 100) 
  set @BomNewVersion = Cast( (@strYearMonth + '01') AS int)
 else
  Set @BomNewVersion = @maxVersion + 1

三个SUBSTRING
Sql server 中 SELECT x = SUBSTRING('abcdef', 1,len('abcdef'))
c#  中:  string x = SUBSTRING('abcdef', 0,len('abcdef'))
javascript中:string x = SUBSTR('abcdef', 0,len('abcdef'))
稍微有点区别。
posted @ 2006-01-25 10:29 毛小华 阅读(1007) 评论(0) 编辑

2006年1月11日 #

如果需要外连接又必须对外连接要求条件的话
可以设置外连接的条件并且要加上可以为null的条件。(当然源外连接为空的数据也进入了结果)
出现这种情况,最好先用试图把需要过滤的先过滤掉。
posted @ 2006-01-11 14:19 毛小华 阅读(695) 评论(0) 编辑

2006年1月3日 #

摘要: 第三天了,总于解决了是web.config中的一句话去掉就行了 <identity impersonate="true"/>代码不能运行产生问题:我的机子上可以,服务器不能运行。现象是oledb不能Open();总是出错贴出代码:privatevoidSaveToExcel(){stringurlPath=HttpContext.Current.Request.ApplicationP...阅读全文
posted @ 2006-01-03 14:06 毛小华 阅读(876) 评论(1) 编辑

2005年9月15日 #

摘要: 目前做一个制造业的ERP,要处理一个Bom,里面的阶数和节点数未知。就是一棵复杂一点的客户端树(能与服务端交互),问了几个朋友,都爱莫能助,只好自己写了。比较乱,不知道是否说清楚了,但愿能给你一点点的帮助。一、环境 .net1.1 + javascript 二、关键字:树 Bom Bom树 javascript树 三、主要功能:1、框架是左边树右边内容,两边要可以交互,即点击左边节点右边要能显示内...阅读全文
posted @ 2005-09-15 16:18 毛小华 阅读(1717) 评论(3) 编辑

2005年8月18日 #

摘要: usingSystem;usingSystem.Collections;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Web;usingSystem.Web.SessionState;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;using...阅读全文
posted @ 2005-08-18 09:28 毛小华 阅读(1723) 评论(0) 编辑

摘要: 1。通用部分 usingSystem; usingSystem.Web.Mail; namespaceBusinessServer.DataServer { /**////<summary> ///Mail的摘要说明。 ///</summary> publicclassEMail { publicconststringC_strSenderName="******"; pu...阅读全文
posted @ 2005-08-18 07:57 毛小华 阅读(1171) 评论(0) 编辑

2005年7月29日 #

摘要: privatevoidEnableForm(boolisReadOnly){boolisEndble=!isReadOnly;Controlctl=txtProposer.Parent;foreach(Controlsonctlinctl.Controls){if(sonctlisTextBox){((TextBox)sonctl).Attributes["readOnly"]=isReadOnl...阅读全文
posted @ 2005-07-29 13:19 毛小华 阅读(770) 评论(2) 编辑

2005年7月11日 #

摘要: 特洛伊木马1。删掉rundll32,conmime。exe2。删掉 。exe 。notepad。exe3。修改关联 。exefile ,txt阅读全文
posted @ 2005-07-11 22:16 毛小华 阅读(746) 评论(0) 编辑

2005年5月13日 #

摘要: 由于需要outlook的菜单,自己试了一下WebPanelBar成功了。如下几个文件1.css  :"WebPanelBar.css"2.Js  :"WebPanelBarScript.js"3后台代码: WebPanelBar.cs,Items.cs,Item.cs,Groups.cs,Group.cs4图标:WebPanelBar/u...阅读全文
posted @ 2005-05-13 22:22 毛小华 阅读(1183) 评论(1) 编辑

2005年5月10日 #

摘要:        在.Net  Web应用程序开发中, 我们希望用户在做一个重要的操作时, 能够询问或警告用户.  或者希望我们有这么一个简单实用的控件, 能在用户确定后引发一个服务端的事件.这个控件的原理很简单,主要是实现IPostBackEventHandle...阅读全文
posted @ 2005-05-10 16:03 毛小华 阅读(1355) 评论(1) 编辑

2005年4月23日 #

摘要: 1、经过一些测试 如果DataGrid2表中有10列,其中第10是模板列(有名字为“Check”的检查筐),其他为绑定列,发现 bool IsTest =((CheckBox)DataGrid2.Items[0].Cells[0].FindControl("Check")).Checked ; bool IsTest =((CheckBox)DataGr...阅读全文
posted @ 2005-04-23 22:20 毛小华 阅读(941) 评论(0) 编辑

2005年4月20日 #

摘要: 1、尽量用接口编程。 接口是根源,如写通用函数的时候,用iCollection代替,object[].  因为object[]是属于icollection的。 2、分布式事务的数据库只能放不同的数据库? 需求:总公司1个,销售分公司20个的情况(网路不是很稳定);分公司有单独的数据库符合以客户为中心的需求;总公司本身是个生产的部分,但要集中分公司的数据。 则总公司有21个数据库,总公司用...阅读全文
posted @ 2005-04-20 21:22 毛小华 阅读(1016) 评论(1) 编辑

2005年4月13日 #

摘要: 与有很大的差别,请注意!SELECT TBL_SchemaDetail.MaterialNo, TBL_StockMaterial.SalePriceFROM TBL_StockMaterial RIGHT OUTER JOIN      TBL_SchemaDetail ON       TBL_...阅读全文
posted @ 2005-04-13 19:20 毛小华 阅读(3917) 评论(4) 编辑

2005年4月7日 #

摘要: 1、dropdownlist 的数据显示。 用  ddlCtl.selectItem.value = dr[0].toString().Trim(); 还是用 ddlCtl.selectItem.Selected=false; ddlCtl.Items.FindControlByName["dr[0].toString().Trim()"].Selected=true...阅读全文
posted @ 2005-04-07 09:55 毛小华 阅读(1197) 评论(0) 编辑

2005年4月4日 #

摘要: 一个SQL 语句 首先声明一个 TBL_Order表总共记录15644条。 一个查询条数的语句 SELECT Count(TBL_Order.PKId)          FROM VIEW1 INNER JOIN         ...阅读全文
posted @ 2005-04-04 22:12 毛小华 阅读(1147) 评论(2) 编辑

摘要: 1、金额不能只给出俩位,当数量大的时候可能需要第三、四位数据。阅读全文
posted @ 2005-04-04 13:30 毛小华 阅读(1075) 评论(1) 编辑

2005年3月30日 #

摘要: 1、当我把dll的名字改了以后,bin 下面的dil不会被自动删除。造成有俩个Dll文件在bin目录中。所以程序不能运行。2、开始不知原因,因为提示说asp.net/temp下面有重复定义现象。就折腾asp.net\temp下面的文件,发觉无效,就把vscache的东西都删掉,还是无效,重新启动。还是无效,只有再仔细的看看bin目录了,发觉原先的dll依然存在,就把她给杀了。然后系统就ok了。阅读全文
posted @ 2005-03-30 15:05 毛小华 阅读(1067) 评论(0) 编辑

2005年3月21日 #

摘要: 1、substring 和 substr的区别。 substring(indexA,indexB).很怪的。从小的开始,到大的结束。不管AB的顺序。 substr(Location,size).就是通常的substring的。从某个位置的,再多大长度的字符串。 好玩吧?2、javascript把文件保存成.js的好处。我觉得最重要的好处是:能够保存的格式不一样,.js 可以以unicode的格式保...阅读全文
posted @ 2005-03-21 19:47 毛小华 阅读(3420) 评论(0) 编辑

2005年3月1日 #

摘要: //查询是否需要弹出用户树,当没有分类或非组分类时不需弹出function ChkCategoryID(CatID){  if (CatID == "") {  alert("请先选择分类!");  return false; }  var SoapBody ...阅读全文
posted @ 2005-03-01 18:13 毛小华 阅读(1306) 评论(0) 编辑

2005年2月3日 #

摘要: 本人最近都在学C,很多都是抄袭 的文章,一般本人都放到文章里的,但看看随笔都好久没文章了,就滥竽充数几篇了 1、    我们经常在C++设计时通过使用回调函数可以使有些应用(如定时器事件回调处理、用回调函数记录某操作进度等)变得非常方便和符合逻辑,那么它的内在机制如何呢,怎么定义呢?它和其它函数(比如钩子函数)有何不同呢?这里结合自己的使用经历做一个简单的介...阅读全文
posted @ 2005-02-03 10:12 毛小华 阅读(5961) 评论(1) 编辑

2004年12月24日 #

摘要: 1.几个字段是必须的PKID (自增),业务ID(自己控制可以等于PKID),操作者(Operator),公司编号(BranchNo),创建日期(CreateDate),更新日期(OperateDate),是否有效(IsActive),部门编号(DePartMentID)(1)业务ID(自己控制可以等于PKID)如子从表必须要自己能控制IP,不然数据导入导出要非常大的麻烦。(2)操作者(Opera...阅读全文
posted @ 2004-12-24 09:56 毛小华 阅读(2042) 评论(5) 编辑

2004年12月15日 #

摘要: 利用分布式的函数 OpenDataSource OpenQuery OpenRowSet 处理分布式数据库,写程序比较简单,但配置DTC比较复杂,查了MSDN为证。 本人为了简单也写了相应的程序,发觉10个公司只有一个公司能得到数据。搜了MSDN,发觉原来有那么多人在配置DTC上碰到问题。 研究了文章如下一.A.不用事务,关用SELECT 语句.是否可以分布式查询? B.LINKSERVER 在做...阅读全文
posted @ 2004-12-15 14:34 毛小华 阅读(4553) 评论(3) 编辑

2004年12月9日 #

摘要: http://cul.sohu.com/20041209/n223376945.shtml阅读全文
posted @ 2004-12-09 18:49 毛小华 阅读(2293) 评论(4) 编辑

2004年12月6日 #

摘要: 摘要:ASP.NET Datagrid 是 Web 开发人员可以使用的一个功能强大的控件。通过添加自定义列以便为用户更准确地显示数据,来学习如何增强该控件的功能。(本文包含一些指向英文站点的链接。)适用于:    Microsoft® ASP.NET下载本文的源代码。(请注意,在示例文件中,程序员的...阅读全文
posted @ 2004-12-06 11:13 毛小华 阅读(5645) 评论(4) 编辑

2004年11月26日 #

摘要: 计算价格 程序处理 :  有产品表TBL_Schema,产品价格有很多零件构成(TBL_SchemaDetial),零件的价格常变,此时应该更新产品的价格。一个产品的更新要涉及 材料表(TBL_StoreMaterial,存在材料的价格) ,价格登记表(TBL_TypePiceManage , 要查两次利润和损耗)。要更新价格(TBL_Schema).要求:客户说计算太慢,所以...阅读全文
posted @ 2004-11-26 11:09 毛小华 阅读(1410) 评论(1) 编辑

2004年11月23日 #

摘要: select top 10 b.* from (select top 20 主键字段,排序字段 from 表名 order by 排序字段 desc) a,表名 b where b.主键字段 = a.主键字段 order by a.排序字段10 = 每页记录数20 = (当前页 + 1) * 每页记录数1。用next()方法,选从50-100行int CurrentRow = 1;int MinR...阅读全文
posted @ 2004-11-23 13:53 毛小华 阅读(1214) 评论(0) 编辑

2004年11月18日 #

摘要: 要求:一个文章表:有PostID(文章编号),ParentID(关联了的文章PostID),SourceID(被关联的一篇文章) 原本写了个语句,发觉不能运行。SELECT PKID, Title, Author, OperateDate, Text, PostID, ParentID, PostID AS SortIDFROM TBL_PostWHERE (ParentID = 2) AND (...阅读全文
posted @ 2004-11-18 11:11 毛小华 阅读(1575) 评论(1) 编辑

2004年10月18日 #

摘要: VC++.net整合开发环境使用技巧 在下面我将会以条目的形式为大家描述VC.net2003的各项使用技巧,你完全可以挑选你感兴趣的内存来看,甚至不看都无所谓哈,只求你的一点支持,up一下就好,算是对我工作的鼓励吧! 首先我是在VC.net2003的环境下使用这些技巧的,当然希望你也能有一套。当然,不是说VC6就完全不能使用,只是有部分功能不能使用罢了,具体还需要你自己来试吧!一、环境设置部分1...阅读全文
posted @ 2004-10-18 18:55 毛小华 阅读(4858) 评论(0) 编辑

2004年10月16日 #

摘要: 原理:用repeater控件,把所有内容都传递到客户端,设置style=display:none,然后通过操作按钮控制客户端脚本执行。<HEAD>...<script language=javascript>function ShowAndHide(ctl){var postid = ctl.btnstatus;var obj = document.getElementBy...阅读全文
posted @ 2004-10-16 15:55 毛小华 阅读(2234) 评论(0) 编辑

2004年10月13日 #

摘要: 问个问题:字段类型为datetime,插入的值有两种现象:“2003-9-9”“2003-9-9 12:01:01”即一种有时间,一种没时间。搞不懂为什么会怎样?现在我想把所有的都换成“2003-9-9”这种没时间的形式,查了些资料,没有相关的格式,特向各位请教!阅读全文
posted @ 2004-10-13 11:34 毛小华 阅读(2099) 评论(8) 编辑

2004年10月10日 #

摘要: sql语句可以这么写 ,完全就是一个存储过程,DECLARE @OrderCon varchar(300), @OrderCons varchar(500), @Orderstr varchar(550)SET @OrderCons = '' DECLARE MyCursor CURSOR FOR (SELECT OrderCon FROM TBL_OrderConfirm WHERE IsCon...阅读全文
posted @ 2004-10-10 13:31 毛小华 阅读(1555) 评论(0) 编辑

2004年9月23日 #

摘要: 咳,搞了一整天了还是没有最后成功,不能用到有codebind的程序中。继续调试中,有知道的,想知道都希望跟我讨论一下。下面的成果:在html文件和aspx文件中有效,可以把下面的代码保存成此两种格式演示。<HTML><HEAD><TITLE>JL 05</TITLE><META content="Microsoft Visual Studio ...阅读全文
posted @ 2004-09-23 20:07 毛小华 阅读(6572) 评论(17) 编辑

2004年8月20日 #

摘要: 昨天本人碰到的repeater的刷新问题,总算得到初步解决,但还是有点不爽,问题是总是会先跑到页面的最顶部停留一下,然后跑到相应的位置。贴出代码,大家参考! 也希望大家给我一个更好的处理方法。 本人很笨的,上篇文章有人回复我smartNav可以实现,可我还是不会。希望指导者给我关联几篇文章看看。 .CS中   private void RecentPosts_ItemComma...阅读全文
posted @ 2004-08-20 15:28 毛小华 阅读(1287) 评论(1) 编辑

2004年8月19日 #

摘要: 设计:有“标题”和“内容”两项,第一次进入,不显示“内容”。然后点击“标题”可以展开和收缩“内容”。第一只:.aspx 文件 <ItemTemplate><span class="date"><asp:Button ID="BtnContent" F...阅读全文
posted @ 2004-08-19 14:22 毛小华 阅读(1711) 评论(2) 编辑

2004年7月28日 #

摘要: 背景:程序已经差不多定型,由于以前没考虑数据库字段加密,被批。现在要整体考虑数据加密。分析:1、被用作视图等关联,或有计算的字段不能加密。2、有查询,有界面数据传递的要考虑清楚,可以做双向加密。3、不做查询,无视图关联,无界面数据传递的最容易加密,可以做单向加密。具体:1、客户名称加密、供应商名称要做双向加密。2、密码可以单向加密。3、一些价格:成本价、指导价、价格系数都进行双向加密如上分析,是个...阅读全文
posted @ 2004-07-28 10:19 毛小华 阅读(2199) 评论(1) 编辑

2004年7月26日 #

摘要: 1。发起端:WebClient myWebClient = new WebClient();string path = Request.Url.ToString();path = path.Substring(0,path.LastIndexOf(@"/")+1);path = path + @"UpLoadFile.aspx";byte[] responseArray = myWebClient...阅读全文
posted @ 2004-07-26 21:27 毛小华 阅读(1442) 评论(0) 编辑

2004年7月24日 #

摘要: 开始觉得水晶报表做报表简单,胡搞了近1月,被领导说了一句:水晶报表不能满足我们要求而告失败。失败了,有点教训:一定要用成熟的东西,不要别人说好就认为很好,(有人做过,并且与自己的工程相似才是真理我没有能力搞什么科研!)。几个主要问题是:1、部署win98相当困难,开发是在win2000下通过的,Rpt_OrderMaterialStatic newrep = new Rpt_OrderMateri...阅读全文
posted @ 2004-07-24 15:44 毛小华 阅读(21586) 评论(69) 编辑