关于C#知识点总结 - 51CTO.COM

来源:百度文库 编辑:神马文学网 时间:2024/04/29 03:27:27
  • 关于C#知识点总结

  • http://developer.51cto.com  2009-08-06 17:42  tiffany_2008  cnblogs  我要评论(0)
    本文总结了一些C#知识点,供大家参考。

    C#知识点之一:存储过程里判断一个参数和一个字段的关系时 必须select语句得有括号,例如    

            
    1. IF @Price< = (SELECT MIN(MarkupPrice) FROM IOrderPriceList)      

    C#知识点之二:页面弹出div  页面变灰不可以再点击

    首先,原理是三个div 

    < div> 这个包括了整个页面的东西< /div>

    < div>这是个弹出的div< /div> ---这个是弹出层

    < div> 空的且独立的div< /div>---这个是遮盖层

    这三个div是相互独立 ,不相互嵌套的,点击按钮弹出的时候,弹出后两个div对遮盖层进行css设置就OK了 

            
    1. < script type="text/javascript" > 
    2.       //页面内弹出提示信息  
    3.         function ShowTip(div1,div2){  
    4.             div1 == getObject(div1);  
    5.             div2 == getObject(div2);  
    6.             Member_Main == getObject(Member_Main);  
    7.             div1.style.display="block";  
    8.             div1.style.width=document.body.scrollWidth;  
    9.             div1.style.height=document.body.scrollHeight;  
    10.             div2.style.display="block";  
    11.             div2.style.left = (document.body.clientWidth / 2) - (div2.offsetWidth / 2);  
    12.             div2.style.top = (document.body.clientHeight / 2 + document.body.scrollTop) - (div2.offsetHeight / 2);  
    13.             Member_Main.className = "Member_hide" 
    14.         }  
    15.           
    16.         function CloseTip(div1,div2){  
    17.          div1 == getObject(div1);  
    18.             div2 == getObject(div2);  
    19.          div1.style.display="none";  
    20.             div2.style.display="none";  
    21.          Member_Main.className = "";  
    22.         }  
    23.           
    24.         function getObject(objectId) {  
    25.              if(document.getElementById && document.getElementById(objectId)) {  
    26.          // W3C DOM  
    27.             return document.getElementById(objectId);  
    28.              }   
    29.              else if (document.all && document.all(objectId)) {  
    30.          // MSIE 4 DOM  
    31.             return document.all(objectId);  
    32.              }   
    33.              else if (document.layers && document.layers[objectId]) {  
    34.          // NN 4 DOM.. note: this won't find nested layers  
    35.             return document.layers[objectId];  
    36.              }   
    37.              else {  
    38.             return false;  
    39.             }  
    40.         }   
    41.   < /script> 
    42.  
    43. /*遮盖层*/  
    44. .layover {  
    45.  position:absolute;  
    46.  top:0px;  
    47.  FILTER: alpha(opacity=20);  
    48.  -moz-opacity:.2;  
    49.  opacity:0.2;  
    50.  background-color:#999999;   
    51.  z-index:101;   
    52.  left: 0px;  
    53.  display:none;  
    54. }  

    弹出层的样式可以自己定义

    C#知识点之三:为了防止别人盗用自己的Iframe ,可以在顶部加句脚本

            
    1. if (top.location != location)   
    2.     {top.location.href = http://www.9588.com/;} 

    C#知识点之四:在存储过程里,动态的拼sql语句,除了想要返回子结果集,有的时候还需要一些对原结果集的sum,cout之类的

    然后赋给out参数 ,传出该值  

    declare @sql nvarchar(4000);

    declare @SumOperateFee money;

    set @sql=' select * from orders where reservationtime > ''2009-7-22'''--简易的sql ,实际中复杂很多

    set @sql='select @SumOperateFee=sum(a.pricedue) from ( '+@sql+' ) as a '

    EXECUTE sp_executesql

    @sql,

    N'@SumOperateFee money output',

    @SumOperateFee output;

    这样就把exec 执行的结果赋给变量了 ,而这个变量时out类型的,在c#端可取值,

    但我翻了个严重的错误,一个很低级的错误,

    在执行sql语句的时候,提示“过程需要参数 '@statement' 为 'ntext/nchar/nvarchar' 类型”,弄了半天弄的一头雾水,

    结果google了一下,才知道,它指的是这个@sql的类型,而我竟然定义的是varchar  ,悔呀,浪费了好多时间。