關(guān)于C#知識點(diǎn)總結(jié)
C#知識點(diǎn)之一:存儲過程里判斷一個(gè)參數(shù)和一個(gè)字段的關(guān)系時(shí) 必須select語句得有括號,例如
- IF @Price< = (SELECT MIN(MarkupPrice) FROM IOrderPriceList)
C#知識點(diǎn)之二:頁面彈出div 頁面變灰不可以再點(diǎn)擊
首先,原理是三個(gè)div
< div> 這個(gè)包括了整個(gè)頁面的東西< /div>
< div>這是個(gè)彈出的div< /div> ---這個(gè)是彈出層
< div> 空的且獨(dú)立的div< /div>---這個(gè)是遮蓋層
這三個(gè)div是相互獨(dú)立 ,不相互嵌套的,點(diǎn)擊按鈕彈出的時(shí)候,彈出后兩個(gè)div對遮蓋層進(jìn)行css設(shè)置就OK了
- < script type="text/javascript" >
- //頁面內(nèi)彈出提示信息
- 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#知識點(diǎn)之三:為了防止別人盜用自己的Iframe ,可以在頂部加句腳本
- if (top.location != location)
- {top.location.href = http://www.9588.com/;}
C#知識點(diǎn)之四:在存儲過程里,動(dòng)態(tài)的拼sql語句,除了想要返回子結(jié)果集,有的時(shí)候還需要一些對原結(jié)果集的sum,cout之類的
然后賦給out參數(shù) ,傳出該值
declare @sql nvarchar(4000);
declare @SumOperateFee money;
set @sql=' select * from orders where reservationtime > ''2009-7-22'''--簡易的sql ,實(shí)際中復(fù)雜很多
set @sql='select @SumOperateFee=sum(a.pricedue) from ( '+@sql+' ) as a '
EXECUTE sp_executesql
@sql,
N'@SumOperateFee money output',
@SumOperateFee output;
這樣就把exec 執(zhí)行的結(jié)果賦給變量了 ,而這個(gè)變量時(shí)out類型的,在c#端可取值,
但我翻了個(gè)嚴(yán)重的錯(cuò)誤,一個(gè)很低級的錯(cuò)誤,
在執(zhí)行sql語句的時(shí)候,提示“過程需要參數(shù) '@statement' 為 'ntext/nchar/nvarchar' 類型”,弄了半天弄的一頭霧水,
結(jié)果google了一下,才知道,它指的是這個(gè)@sql的類型,而我竟然定義的是varchar ,悔呀,浪費(fèi)了好多時(shí)間。
【編輯推薦】