[C#] Convert 取整數問題

2010年10月18日 星期一

今天在統計圖表時,發現了小數進位問題

原來用 Convert 取整數時小數會進位,之後使用(int)結果便是正確,所以Convert 跟 (int)的轉型機制不同,使用在浮點運算要小心。

double d = 108.555;
int i1 = Convert.ToInt32(d); // = 109
int i2 = (int)(d); // = 108

Read more...

定序問題

2010年10月8日 星期五

今天在新增table後在去查詢時發現錯誤,訊息為:
「無法解析 equal to 作業中 "Chinese_Taiwan_Stroke_CI_AS" 與"Chinese_Taiwan_Stroke_CI_AS_WS" 之間的定序衝突。」
語法為:
select * from a inner join b on a.pk=b.rpk


因為是剛新增的table裡面都還沒有資料,所以就把table drop 掉,在新建
這時候就加入指定定序的語法

CREATE TABLE [dbo].[WINDOW_DEP](
[UserID] [nvarchar](255) collate Chinese_Taiwan_Stroke_CI_AS NULL ,
[DepID] [nvarchar](255) collate Chinese_Taiwan_Stroke_CI_AS NULL
) ON [PRIMARY]



若此Table已有資料的話,那就只能從query去下手了
例:
SELECT WINDOW_DEP.DEPID
FROM WINDOW_DEP
INNER JOIN AT_ORG_ORGUNIT ON AT_ORG_ORGUNIT.nodeID collate Chinese_PRC_Stroke_CI_AS = WINDOW_DEP.DepID
WHERE WINDOW_DEP.UserID = 'Admin'



可參考
http://renjin.blogspot.com/2008/02/collation-conflict.html

Read more...

jscript 取代特殊符號用法

2010年9月8日 星期三

jscript 取代特殊符號用法
html特殊符號


& &
< &lt;
> &gt;


oOrgID.replace(new RegExp("&","g"),"&");

Read more...

遠端人數額滿又想登入之方法

2010年8月30日 星期一

工作上常常需要遠端到其它的電腦上

通常windows預設只能讓2個人登入,當已經遇到2個人登入但是你又想登入時該怎麼辦呢?
只要在執行遠端的程式加入 mstsc /admin 這段就可以登入了。

Read more...

補0的寫法 for javascript

2010年7月29日 星期四

取出四位數的流水號,格式如下:0001,0002,0003….

這時就可以用for迴圈搭配以下的function來處理即可

 

function padLeft(str,length){
if(str.toString().length >= length)
{
return str;
}
else
{
return padLeft("0" +str,length);
}
}





完整程式:



for(i=1;i<=4;i++)
{
document.write(padLeft(i,4) + "<BR>");
}


最後結果:



0001



0002



0003



0004

Read more...

暫存table用法

2010年7月22日 星期四

過去都是使用 insert #table方式來新增暫存的資料


現在可以用

WITH User (USERID, AGE) as
(
Select USERID, AGE
from dbo.User
)

Select *
From
User


可參考

http://www.dotblogs.com.tw/dc690216/archive/2010/02/02/13440.aspx

Read more...

如何在SQL2008將既有的table及資料產生srcipt語法匯出

2010年6月13日 星期日

這是今天同事遇到的問題

他設計了一個新功能,有開了一個新的Table, 而裡面有一些預設資料
今天他要將這個功能更新至客戶那邊,除了提供程式外,也要提供相關的Create Table及insert 預設資料的語法


Step1

Step2


Step3選擇DB


Step4勾選後才會有資料的script

Step5


Step6


Step7

可參考:http://sharedderrick.blogspot.com/2009/03/insert-sql-server-management-studio.html

Read more...

SQL取出序號

2010年6月1日 星期二

之前在寫sql語法時,需要用到序號這種東西,今天同事分享了用法。

select row_number() over (order by pk ) as NO, * from tablename

Read more...

.net匯出Excel問題

2010年4月12日 星期一

匯出EXCEL
在.cs裡加入


Response.Clear();
Response.Write("<meta http-equiv=Content-Type content=text/html;charset=utf-8>");
Response.AddHeader("content-disposition", "attachment;filename=Course.xls");
Response.ContentType = "application/vnd.xls";


這樣是可以順利匯出Excel但是若遇到資料量比較大,Excel會無法讀取
原來是ViewState在作怪

解決方式只要
加入 EnableViewState="false"即可

<Page Language="C#" AutoEventWireup="true" CodeFile="ExportExcelCourse.aspx.cs" Inherits="_service_omega_LearningResumeNew_ExportExcelCourse" EnableViewState="false"

Read more...

xslt 處理tag的問題

2010年2月4日 星期四

今天遇到
原本寫法(下方的textarea tag 已改全形,不然也會出現一樣的問題)


<textarea class="lstextarea" name="Q{../PK}"/>

在頁面textarea裡出現後面程式的code


這是因為tag資料不完整
在asp裡的xslt裡在tag丟值時一定要給完整的tag不然就會出現這樣的錯誤

只要改成改成




就可以囉。

Read more...

網頁另存新檔遇到的問題

2010年1月25日 星期一

今天剛好有寫到一個網頁另存新增的功能
遇到
document.execCommand('Saveas',true, 'abc.xml')
怎麼測試都不會出現另存網頁,於是google了一下
發現這是Microsoft為了安全性的限制

execcommand涵數匯出除了txt,htm,html,以外的格式都不接受
所以我就改成
document.execCommand('Saveas',true, 'abc.txt')
雖然可以了,因為我要匯出的格式是xml的格式,但是給.txt的話,他就會匯出一般的文字格式
tag會不見
於是在改成
document.execCommand('Saveas',true, 'abc.htm')
就可以正確的匯出了。

可參考資料
http://msdn.microsoft.com/zh-tw/library/system.windows.forms.htmldocument.execcommand(VS.80).aspx

下面是範例code
1.開新視窗另存新檔


function outExcel(atblData){
var w = window.open("about:blank", "Excel", "widht=0, height=0");
w.document.write(atblData.outerHTML);
if(w.document.execCommand('Saveas',true, 'abc.txt'))
alert("匯出成功");
else
alert("匯出失敗!");
window.close();
}


2.把資料丟入iframe裡在另存新檔





Read more...