2007年8月30日 星期四

規則運算式

用法         含義
\d             數字(0~9)      等同[0-9]
\D            除了數字(0~9)      等同[^0-9]
\w            字母、數字、底線      等同[A-Za-z0-9_]
\W           除了字母、數字、底線      等同[^A-Za-z0-9_]
{n}           限n位
{n,m}      限n至m位
+              重覆一次以上
*               重覆零次以上
\d{5}      表示限五位數數字
\d{1,4}   表示限一位數至四位數數字
\d+         表示限數字
\d*          表示限數字或null

2007年8月21日 星期二

sql語法

一般新增、修改、刪除
insert (into) TableName
(column1, column2, …, columnN )
Values(v1, v2, …, vN)

update TableName
set column1=v1, column2=v2, …, colunmN=vN
from TableName1 a , TableName2 b,…
where condition

delete *
from TableName
where condition

//增加欄位及資料型態
alter table CarCodeInfo
add test1 int
go

//修改欄位資料型態
alter table CarCodeInfo
alter column test1 char(4)
go


//跨server 新增
insert OPENDATASOURCE(
'SQLOLEDB',
'Data Source=ServerName;User ID=xxx;Password=xxx'
).cartest.dbo.QCItem(QCItemID,CarCategory,TestMethod,Contents,AdopStandard,ToSort,IsShow)
select newid(),CarCategory,TestMethod,Contents,AdopStandard,ToSort,IsShow
from dbo.QCItem
where CarCategory='2' and (TestMethod='9' or TestMethod='10')
//跨server update
update OPENDATASOURCE('SQLOLEDB','Data Source=17-0526277-01;User ID=sa;Password=sa').CarCert0109_online.dbo.carsaledetail
set csd_carmodelname = (select...)
where csd_splyno = '093'

ps:SQL Server2005需設定SQL Server Surface Area Configuration,點選"功能的介面區組態",勾選"啟用OPENROWSET和OPENDATASOURCE支援"


//查詢完整的table資訊
SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME='xxxx'

//新增流水號
select Num = identity(int,1,1), * into #temp from TableName
drop table #temp

ps:int為小寫 1,1同識別序號用法

//sql中使用indexof的寫法
charindex(exp1, exp2 [, start location])
exp1 => 目標字
exp2 => 搜尋字串
start location => exp2開始的位置
ex:
select charindex('2','3521468524') ==> 3
select charindex('2','3521468524',4) ==> 9 (因為從第4個位置開始找,所以第一個找到的2在位置9)

自動執行

如果需要系統每天更新資料
可以在 global.cs 下處理
/*
public class Global : System.Web.HttpApplication
{
    //宣告timer
    private System.Timers.Timer ConveyAuto;
    private DateTime lastRemiderCheckTime;

    #region 啟動timer
    ConveyAuto = new System.Timers.Timer();

    //要執行的程式
    ConveyAuto.Elapsed+=new ElapsedEventHandler(AutoHandler);

     //設定時間(dd,hh,mm,ss,ff)
    TimeSpan tsReminder = new TimeSpan(0, 0, 0, 0, 1);

    //引發 Elapsed 事件的時間間隔 (單位為毫秒)。預設值是 100 毫秒。
    ConveyAuto.Interval= tsReminder.Milliseconds;
    ConveyAuto.Enabled=true;
    #endregion


    #region 自動轉檔
    private void AutoHandler(object source, ElapsedEventArgs e)
    {
        DateTime dt = DateTime.Now;
        //從 web.config中設定的時間 取得數值
        string[] ConveyTime = System.Configuration.ConfigurationSettings.AppSettings["ConveyTime"].ToString().Split(',');
        int h = int.Parse(ConveyTime[0].ToString());
        int m = int.Parse(ConveyTime[1].ToString());
        int s = int.Parse(ConveyTime[2].ToString());
        TimeSpan tmUpd = new TimeSpan(h,m,s);
        // 每天 hh:mm:ss 執行
        if( (dt.TimeOfDay == tmUpd) && (lastRemiderCheckTime.Date < dt.Date) )
        {
            ((System.Timers.Timer)source).Enabled=false;
            lastRemiderCheckTime = dt;
            //合格證轉檔
            ConveyFunction CF = new ConveyFunction();
            CF.Convey(System.DateTime.Now.ToString("yyyyMMdd"), "A");

            ((System.Timers.Timer)source).Enabled=true;
        }
    }
    #endregion
}
*/

2007年8月20日 星期一

新建專案

1.在server上建立專案名稱的空資料夾名稱
2.打開vss admin
Tools\Create Database 目的選server上建立的專案名稱
Users\Open SourceSafe Database 建立使用者
3.新增空白專案 逐一加入現有專案:
ex:專案、ASPnetMenu、ProjectDocument、SqlCommandGallery、UIComponent
全部加入後先中斷原繫結路徑,再逐一點選專案 檔案->原始檔控制->將專案加入至原始檔控制
4.進入iis 設定虛擬路徑 選擇目的資料夾即可