2007年12月28日 星期五

ASP RecordSet 相關函數說明

【RecordSet.Fields.Count 】傳回Recordset中的欄位數。
【RecordSet(i).Name 】傳回Recordset中第i個欄位的名稱。
【RecordSet.RcordCount 】傳回Recordset中資料錄的筆數。
【RecordSet(i) 】傳回RecordSet目前紀錄中的第i個欄位資料。
【RecordSet.BookMark 】傳回設定的書籍資料以儲存現在紀錄的位置。
【RecordSet.AbsolutePostition 】將指標移致RecordSet中的某一筆資料上。
【RecordSet.PageSize 】設定每頁顯示的資料筆數。
【RecordSet.PageCount 】傳回分頁後的總頁數。
【RecordSet.AbsolutePage 】傳回目前所在的頁數。
【RecordSet("欄位名稱") 】傳回指定欄位名稱的資料內容。
【RecordSet.BOF 】判斷指標是否超過最前面。
【RecordSet.EOF 】判斷指標是否超過最後面。
【RecordSet.MoveFirst 】將資料錄指標移至第一筆。
【RecordSet.MoveLast 】將資料錄指標移至最後一筆。
【RecordSet.MoveNext 】將資料指標往後移一筆。
【RecordSet.MovePrevious 】將資料指標往前移一筆。
【RecordSet.GetRows 】可將Recordset中的資料儲存至陣列中。
【RecordSet.AddNew 】新增資料至資料表中。
【RecordSet.Update 】更新目前這筆資料。
【RecordSet.Delete 】刪除目前這筆資料。
【RecordSet.Find 】尋找資料值。

常用的時間函式

=== 1.Now 傳回系統的日期及時間。===============
使用方法:無
例:Now 傳回值:2002/11/2 10:23:30 AM

=== 2.Date傳回系統的日期。 ===================
使用方法:無
例:Date 傳回值:2002/11/2

=== 3.Time 傳回系統的時間。===================
使用方法:無
例:Time 傳回值:10;23:30 AM

=== 4.Year 傳回系統的年份。 ==================
使用方法:Year[(1-3的時間函式)]
例:Year(Now) 傳回值:2002

=== 5.Month 傳回系統的月份。 =================
使用方法:Month[(1-3的時間函式)]
例:Month(Now) 傳回值:11

=== 6.Weekday 傳回系統的星期幾的數字。 ========
使用方法:Weekday(1-3的時間函式,[星期天的開始數字])
例:Weekday(Now,7)傳回值:14
備註:若不設定開始數字,則星期天為1,.....星期六為7。設定了則由星期天累加。

=== 7.Day 傳回系統的日子。 ===================
使用方法:Day[(1-3的時間函式)]
例:Day(Now) 傳回值:2

=== 8.Hour 傳回系統的小時。 ==================
使用方法:Hour[(1-3的時間函式)]
例:Hour(Now) 傳回值:11

=== 9.Minute 傳回系統的分鐘。 ================
使用方法:Minute[(1-3的時間函式)]
例:Minute(Now) 傳回值:23

=== 10.Second 傳回系統的秒。 ================
使用方法:Second[(1-3的時間函式)]
例:Second(Now)傳回值:30

=== 11.Cdate 轉換成日期變數型態。============
使用方法:Cdate(日期運算式)
例:Cdate(Now) 傳回值:2002/11/2 10:23:30 AM

=== 12.DateAdd 用以計算時差,即時間加減。 ====
使用方法:DateAdd("時間代碼",加減數,日期運算式)
例:DateAdd("H",2,Now) 傳回值:2002/11/2 12:23:30 AM
備註:日期運算式看備註

=== 13.DateDiff 計算兩段時間差距。 ==========
使用方法:DateDiff("時間代碼",日期運算式1,日期運算式2)
例:DateDiff("H","2002/11/2 12:23:30 AM",Now) 傳回值:2
備註:日期運算式看備註

=== 14.DatePart 傳回一個日期中的一部分。======
使用方法:DatePart("時間代碼",日期運算式)
例:Part("H",Now)傳回值:10
備註:日期運算式看備註

=== 15.DateSerial 轉換三個參數為日期形態。 ===
使用方法:DateSerial(年,月,日)
例:DateSerial(2002,11,2)傳回值:2002/11/2

=== 16.DateValue 轉換日期字串成日期形態。 ====
使用方法:DateValue("日期字串")
例:DateAdd("November 2,2002")傳回值:2002/11/2

=== 17.IsDate 檢查變數是否為日期形態或字串可否轉成日期。===
使用方法:DateValue("日期字串")
例:DateValue("November 2,2002")傳回值:True

=== 18.MonthName 傳回月份的名稱。 ============
使用方法:MonthName("日期字串")
例:MonthName(Now)傳回值:November

=== 19.TimeSerial 轉換三個參數為時間形態。====
使用方法:TimeSerial(時,分,秒)
例:TimeSerial(10,23,30) 傳回值:10:23:30

=== 20.WeekDayName 傳回週幾的名稱。 =========
使用方法:WeekDayName("日期字串")
例:WeekDayName(Now) 傳回值:Saturday


【備註】
以上內容皆假設該時間為
2002年11月2日上午10時23分30秒星期六
[...]內的參數可有可無。
時間代碼(運算式):
yyyy 年、q 季、n 月、d 日、w 星期、h 時、m 分、s 秒

UltraDev 與各種資料庫的連線字串

UltraDev 提供了多種方式,讓 ASP 的使用者與資料庫建立連線:

•自己的電腦 -- 可以使用 DSN、自訂連線字串
•應用程式伺服器上 -- 可以使用 DSN、自訂連線字串或 Server.Mappath


下面列出了幾種常見的資料庫,在 ASP 網站應用程式中使用 ADO 連線字串的範例。請特別注意,在自訂連線字串的對話框中,每個連線字串只能為同一行,不可以換行!但因網頁顯示的關係可能會換行,你必須自行將它連接起來。

ODBC DSNLess connection(不需要DSN的連線)
--- MS Access ODBC 開檔方式 --------------------------------------------------
Driver={Microsoft Access Driver (*.mdb)};Dbq=c:\somepath\dbname.mdb;Uid=Admin;Pwd=pass;

--- dBase ODBC 開檔方式 --------------------------------------------------
Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=c:\somepath\dbname.dbf;

--- Oracle ODBC 開檔方式 -------------------------------------------------
Driver={Microsoft ODBC for Oracle};Server=OracleServer.world;Uid=admin;Pwd=pass;

--- MS SQL Server 開檔方式 -----------------------------------------------
Driver={SQL Server};Server=servername;Database=dbname;Uid=sa;Pwd=pass;

--- MS Text Driver 開檔方式 ----------------------------------------------
Driver={Microsoft Text Driver (*.txt;*.csv)};Dbq=c:\somepath\;Extensions=asc,csv,tab,txt;Persist Security Info=False;

--- Visual Foxpro 開檔方式 -----------------------------------------------
Driver={Microsoft Visual FoxPro Driver};SourceType=DBC;SourceDB=c:\somepath\dbname.dbc;Exclusive=No;

--- MySQL 開檔方式 -------------------------------------------------------
driver={mysql}; database=yourdatabase;uid=username;pwd=password;option=16386;


OLE DB 連線MS Access OLE DB 開檔方式(DSN的連線)
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\somepath\dbname.mdb;User Id=admin;Password=pass;

--- Oracle OLE DB 開檔方式 -----------------------------------------------
Provider=OraOLEDB.Oracle;Data Source=dbname;User Id=admin;Password=pass;

--- MS SQL Server OLE DB 開檔方式 ----------------------------------------
Provider=SQLOLEDB;Data Source=machineName;Initial Catalog=dbname;User ID=sa;Password=pass;

--- MS Text Driver OLE DB 開檔方式 ---------------------------------------
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\yourpath;Extended Properties='text;FMT=Delimited'"


<%=Server.MapPath("")%>
※你便可以利用這個資訊,在 ADO 連線字串中建立出資料庫的路徑。事先就找出檔案路徑要比使用 Server.MapPath 這樣的物件方法好的多。

在 UltraDev 4 中使用 Server.Mappath
在 UltraDev 4 中,自訂連線字串的方式允許你使用 Server.Mappath,不過先決條件是:
•定義連線的對話框中必須指定為「應用程式伺服器」,「這台機器」是不支援這種方式的。
•必須在連線字串中指出根目錄的路徑。
•請確定連線字串的第一個部份前後有使用雙引號括住。

典型的 Access 資料庫 DSNLess 連線字串,使用 Server.Mappath 在 VBScript 寫起來是這樣的。請注意在自訂連線字串的對話框中,只能為同一行文字。

"Driver={Microsoft Access Driver (*.mdb)};Dbq=" & Server.Mappath("\somepath\dbname.mdb") & ";Uid=Admin;Pwd=pass;"

而典型的 Access 資料庫 OLEDB 連線字串則是:
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("\somepath\dbname.mdb") & ";User Id=admin;Password=pass;"

如果你使用 ASP JavaScript,則必須將 & 符號改為 + 號,像是這樣:
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.Mappath("\somepath\dbname.mdb") + ";User Id=admin;Password=pass;"

如果你使用 UltraDev 1,千萬不要在自訂連線字串中使用 Server.MapPath 這種方式,不然的話會讓 UltraDev 無法使用 。也就是說,你可以加入這樣的原始碼,但是資料繫結面板內不會顯示出任何資料。

2007年12月12日 星期三

2000與2003Mail發送方式

Windows 2000 發信方式
Set mail = Server.CreateObject("CDONTS.NewMail")
mail.to ="scott@universe.com.tw"
mail.From = "verigy@universe.com.tw"
mail.Subject = "" & Trim(Request("EventID"))
Body = ""
Body = Body & ""
mail.Body = Body
mail.BodyFormat=0
mail.MailFormat=0
mail.Send


Windows 2003 發信方式
Set mail = CreateObject("CDO.Message")
mail.to ="scott@universe.com.tw"
mail.From = "verigy@universe.com.tw"
mail.Subject = "" & Trim(Request("EventID"))
Body = ""
Body = Body & ""
mail.HTMLBody = Body
mail.Send