C#知识点之一:存储过程里判断一个参数和一个字段的关系时 必须select语句得有括号,例如
- IF @Price< = (SELECT MIN(MarkupPrice) FROM IOrderPriceList)
C#知识点之二:页面弹出div 页面变灰不可以再点击
首先,原理是三个div
< div> 这个包括了整个页面的东西< /div>
< div>这是个弹出的div< /div> ---这个是弹出层
< div> 空的且独立的div< /div>---这个是遮盖层
这三个div是相互独立 ,不相互嵌套的,点击按钮弹出的时候,弹出后两个div对遮盖层进行css设置就OK了
- < script type="text/javascript" >
- //页面内弹出提示信息
- function ShowTip(div1,div2){
- div1 == getObject(div1);
- div2 == getObject(div2);
- Member_Main == getObject(Member_Main);
- div1.style.display="block";
- div1.style.width=document.body.scrollWidth;
- div1.style.height=document.body.scrollHeight;
- div2.style.display="block";
- div2.style.left = (document.body.clientWidth / 2) - (div2.offsetWidth / 2);
- div2.style.top = (document.body.clientHeight / 2 + document.body.scrollTop) - (div2.offsetHeight / 2);
- Member_Main.className = "Member_hide"
- }
- function CloseTip(div1,div2){
- div1 == getObject(div1);
- div2 == getObject(div2);
- div1.style.display="none";
- div2.style.display="none";
- Member_Main.className = "";
- }
- function getObject(objectId) {
- if(document.getElementById && document.getElementById(objectId)) {
- // W3C DOM
- return document.getElementById(objectId);
- }
- else if (document.all && document.all(objectId)) {
- // MSIE 4 DOM
- return document.all(objectId);
- }
- else if (document.layers && document.layers[objectId]) {
- // NN 4 DOM.. note: this won't find nested layers
- return document.layers[objectId];
- }
- else {
- return false;
- }
- }
- < /script>
- /*遮盖层*/
- .layover {
- position:absolute;
- top:0px;
- FILTER: alpha(opacity=20);
- -moz-opacity:.2;
- opacity:0.2;
- background-color:#999999;
- z-index:101;
- left: 0px;
- display:none;
- }
弹出层的样式可以自己定义
C#知识点之三:为了防止别人盗用自己的Iframe ,可以在顶部加句脚本
- if (top.location != location)
- {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 ,悔呀,浪费了好多时间。
【编辑推荐】