เมื่อวานซื้อ น้ำอัดลมมากิน
เห็นข้างกระป๋องเขียนเกี่ยวกับ ว่าใช้สารที่ช่วยทำให้หวาน คือ
ใช้สารเอสปาแตม และอะซิซัลเฟม เค เป็นสารให้ความหวาน
ลองหาข้อมูลของ เอสปาแตม ซึ่งพบว่า อาจมีผลกระทบบ้าง ดังนี้
http://my.dek-d.com/writer/story/viewlongc.php?id=96382&chapter=72
ส่วน ใน wikipedia เขียนไว้ดังนี้ นะครับ
http://en.wikipedia.org/wiki/Aspartame
tu blog , programming C#,PHP,Java,VB.NET,VB,HTTP,Protocol
27 May 2007
24 May 2007
เห็นกงจักรเป็นดอกบัว
เห็นกงจักร เป็นดอกบัว
เจอเข้ากับตัว เพิ่งรุ้ว่า คำโบราณ ยังขลังจริงๆ
http://www.krusakon.com/sontanaa/view.php?No=2019
เจอเข้ากับตัว เพิ่งรุ้ว่า คำโบราณ ยังขลังจริงๆ
http://www.krusakon.com/sontanaa/view.php?No=2019
23 May 2007
ตัวอย่างโปรแกรม IronPython ( .NET 2.0)
เป็นตัวอย่าง WinForm ด้วย Iron Python for .NET
ซึ่งโปรแกรม นี้ ต้องลง .NET 2.0 Runtime ก่อน
โปรแกรม Iron Python โหลด ได้จาก http://www.codeplex.com/IronPython ขนาดไม่ใหญ่นัก ไม่เกิน 5 MB
แต่ อาจต้อง ติดตั้ง .NET 2.0 Redistribut ที่อาจตัวใหญ่หน่อย
หรือ ถ้า ได้ติดตั้ง VS.NET 2005 Express แล้วก็ไม่ต้อง ติดตั้ง Redistribut อีก
ตัว Ironpython สามารถ integrate เข้ากับ VS.NET ได้ ตามคู่มือ แต่ยังไม่ได้ทดลองทำ
ในตัวอย่าง นี้ลองเขียนด้วย notepad
และ run โดย ใช้
โดย db.py จะเป็นไฟล์ที่เก็บ โปรแกรมนี้
ใน package ของ iron python อาจจะไม่มีข้อมูล วิธีการเขียน python นัก
แต่อาจหาได้ โดย อ่าน Help ของ Python 2.5 ที่โหลดและ ติดตั้งจาก http://www.python.org/
ตัวโปรแกรม จะทำหน้าที่ สร้าง Form และ สร้าง Control ตาม Table ตาม
Odbc DataSoure , Database ที่ใช้ เป็น MSAccess และดึงข้อมูล Table เข้า
สร้างเป้น Field Label , TextBox, ComboBox สำหรับ LookupTable ที่หน้าจอ
และ มีการ ผูก Event Click เข้ากับ Function
โค้ด มีดังนี้
ปัญหา เท่าที่พบ คือ ไม่มี intellisense แต่ถ้าหากใช้กับ VS.NET และ มี Intellisense ได้
ก็น่าจะช่วยแก้ปัญหาได้
และ ปัญหาอีกอย่างที่พบ คือ Python หรือภาษาตระกูล นี้จะให้ความสำคัญกับ ย่อหน้ามากๆ
หาก มีการเปลี่ยนย่อหน้าหลายๆบรรทัดติดกัน การใช้ Editor notepad อาจไม่สะดวก
อาจใช้ editor ตัวอื่นๆ เช่น editplus แทน
และ พบว่า เราสามารถ compile code ของ iron python ให้เป็น .exe ได้
( แต่อาจต้อง ลง iron python ในเครื่อง ที่มี .exe นั้น ) โดย ทำตามขั้นตอนของ
การถามตอบ ดังนี้
http://lists.ironpython.com/pipermail/users-ironpython.com/2006-February/001825.html
หวังว่า สำหรับใครที่ลองดู จะทำให้ งานง่ายขึ้น
รูปโปรแกรม หลังรันกับ database ตัวอย่าง ( ไม่ได้ให้มา ในนี้ )
ซึ่งโปรแกรม นี้ ต้องลง .NET 2.0 Runtime ก่อน
โปรแกรม Iron Python โหลด ได้จาก http://www.codeplex.com/IronPython ขนาดไม่ใหญ่นัก ไม่เกิน 5 MB
แต่ อาจต้อง ติดตั้ง .NET 2.0 Redistribut ที่อาจตัวใหญ่หน่อย
หรือ ถ้า ได้ติดตั้ง VS.NET 2005 Express แล้วก็ไม่ต้อง ติดตั้ง Redistribut อีก
ตัว Ironpython สามารถ integrate เข้ากับ VS.NET ได้ ตามคู่มือ แต่ยังไม่ได้ทดลองทำ
ในตัวอย่าง นี้ลองเขียนด้วย notepad
และ run โดย ใช้
c:\>ipy db.py
โดย db.py จะเป็นไฟล์ที่เก็บ โปรแกรมนี้
ใน package ของ iron python อาจจะไม่มีข้อมูล วิธีการเขียน python นัก
แต่อาจหาได้ โดย อ่าน Help ของ Python 2.5 ที่โหลดและ ติดตั้งจาก http://www.python.org/
ตัวโปรแกรม จะทำหน้าที่ สร้าง Form และ สร้าง Control ตาม Table ตาม
Odbc DataSoure , Database ที่ใช้ เป็น MSAccess และดึงข้อมูล Table เข้า
สร้างเป้น Field Label , TextBox, ComboBox สำหรับ LookupTable ที่หน้าจอ
และ มีการ ผูก Event Click เข้ากับ Function
โค้ด มีดังนี้
import clr clr.AddReference("System.Windows.Forms") clr.AddReference("System.Drawing") clr.AddReference("System.Data") import System.Windows.Forms as WForm import System.Drawing as Draw import System.Data as Data import System.Data.Odbc as Odbc import System.Console as Con class Form1(WForm.Form): def __init__(self): Con.WriteLine("OK") self.Text= "OK" self._mLeft = 175 self._mTop = 10 #self.BackColor= Draw.Color.White #self.addControls() self.addCtrlDb() @property def mLeft(self): return self._mLeft @property def mTop(self): return self._mTop # not use now def addControls(self): t = WForm.TextBox() t.Text= "dbApp" self.Controls.Add( t ) self.Size= Draw.Size(300 ,200) def getCon(self): str1 = "DSN=spt_import_cd"; self.dbg(str1) cn = Odbc.OdbcConnection(str1) cn.Open() self.dbg(" ConnectOK") return cn def getDt(self,sql): cn = self.getCon() da = Odbc.OdbcDataAdapter(sql , cn) dt = Data.DataTable() da.Fill(dt ) return dt def readToCombo(self ,combo ,sql , fldvalue , flddisplay): dt = self.getDt(sql) for r in dt.Rows : disp = r[flddisplay] + '' combo.Items.Add ( disp ) def addCtrlDb(self): cn = self.getCon() sql = "select * from cd WHERE idcd = 0 " da = Odbc.OdbcDataAdapter(sql ,cn ) dt = Data.DataTable() row =da.Fill(dt ) cn.Close() #self.AddLabel( "TableCD") #self.NewLine() lookupwi = 300 maxwi = 0 for col in dt.Columns: self.dbg(col.ColumnName ) colname = col.ColumnName self.AddLabel( colname) if colname=="ProvID" : sql2= "Select * , ProvID & ':' & ProvName as ProvName2 from Province" wi =self.AddLookupCombo(colname,sql2,"ProvID","ProvName2",lookupwi) else: if colname=="WhEnvID" : sql2= "Select * , WhEnvID & ':' & Title as Title2 from WhEnvelope" wi =self.AddLookupCombo(colname,sql2,"WhEnvID","Title2" ,lookupwi) else: wi = self.AddTextBox(colname ) if wi > maxwi : maxwi = wi self.NewLine() self.dbg("ListColAndCloseOK") self.Height = self.mTop + 50 self.Width = self.mLeft + maxwi + 40 self.Text = "Table CD" bt = WForm.Button() bt.Text = "Close" bt.Left = self.mLeft bt.Top = self.mTop bt.Click += self.OnButtonClose self.Controls.Add( bt ) self.Height += bt.Height def AddLabel(self,name): lb = WForm.Label() lb.Name = "lb" + name lb.Left = 20 lb.Top = self.mTop lb.Text = name lb.AutoSize = True self.Controls.Add(lb) def AddTextBox(self,name): t = WForm.TextBox() t.Name = "tx" + name t.Left = self.mLeft t.Top = self.mTop self.Controls.Add(t) return t.Width def AddLookupCombo(self,name,sqlsel,fldValue ,fldDisp,wi): t = WForm.ComboBox() t.Name = "cblookup" + name t.Left = self.mLeft t.Top = self.mTop self.Controls.Add(t) t.Width = wi self.readToCombo(t ,sqlsel, fldValue ,fldDisp) t.DropDownStyle = WForm.ComboBoxStyle.DropDownList return t.Width def NewLine (self ): self._mTop += 23 def ListData(self,dsn): str1 = "DSN=" + dsn; self.dbg(str1) cn = Odbc.OdbcConnection(str1) cn.Open() self.dbg(" ConnectOK") cmd = cn.CreateCommand( ) cmd.CommandText = "SELECt * from cd " rd = cmd.ExecuteReader() while (rd.Read()): self.dbg(str(rd["idcd"]) + ' ' + rd["Title"]) pass cn.Close() self.dbg(" CloseOK") def dbg(self ,str1 ): #WForm.MessageBox.Show(str1) Con.WriteLine(str1) #def OnButtonClose(*arg ): def OnButtonClose(self ,ctrl, a ): self.Close() f = Form1() WForm.Application.Run( f) |
ปัญหา เท่าที่พบ คือ ไม่มี intellisense แต่ถ้าหากใช้กับ VS.NET และ มี Intellisense ได้
ก็น่าจะช่วยแก้ปัญหาได้
และ ปัญหาอีกอย่างที่พบ คือ Python หรือภาษาตระกูล นี้จะให้ความสำคัญกับ ย่อหน้ามากๆ
หาก มีการเปลี่ยนย่อหน้าหลายๆบรรทัดติดกัน การใช้ Editor notepad อาจไม่สะดวก
อาจใช้ editor ตัวอื่นๆ เช่น editplus แทน
และ พบว่า เราสามารถ compile code ของ iron python ให้เป็น .exe ได้
( แต่อาจต้อง ลง iron python ในเครื่อง ที่มี .exe นั้น ) โดย ทำตามขั้นตอนของ
การถามตอบ ดังนี้
http://lists.ironpython.com/pipermail/users-ironpython.com/2006-February/001825.html
|
หวังว่า สำหรับใครที่ลองดู จะทำให้ งานง่ายขึ้น
รูปโปรแกรม หลังรันกับ database ตัวอย่าง ( ไม่ได้ให้มา ในนี้ )
15 May 2007
asp.net เซ็ต timeout
การ เซ็ต session timeout ของ ASP.NET นะครับ
ที่นี่ครับ
http://msdn2.microsoft.com/en-us/library/h6bb9cz9(VS.71).aspx
ใช้ attribute ชื่อ timeout ของ element ที่ชื่อ sessionstate นะครับ
ตัวอย่างเช่น (ลอกมาจาก เวปอ้างอิง )
ที่นี่ครับ
http://msdn2.microsoft.com/en-us/library/h6bb9cz9(VS.71).aspx
ใช้ attribute ชื่อ timeout ของ element ที่ชื่อ sessionstate นะครับ
ตัวอย่างเช่น (ลอกมาจาก เวปอ้างอิง )
05 May 2007
Troubleshooting the "The Binding Handle Is Invalid" error in Visual Studio 2005
แก้ปัญหา นี้ ใน ทั้ง Visual C# 2005 Express Edition และ
Visual Web Studio 2005 Express Edition เวลามีปํญหา
เวลารัน แล้ว ขึ้น msgbox ว่า
The Binding Handle Is Invalid
ซึ่ง ทำให้ เข้า Debug Mode ไม่ได้
ทำดังนี้ ตาม ลิงค์
http://blogs.msdn.com/habibh/archive/2005/11/10/491572.aspx
โดย สรุป คือ ให้ Enable Services ชื่อ 'Terminal Services'
เมื่อ ทำแล้ว จะรัน ใน Debug Mode ได้เลย ครับ
ตอนแรก ติดปัญหานี้อยู่เป็นเดือน ไม่ได้ ดีบักเลย นึกว่าลงโปรแกรมผิด
เพิ่งรู้ว่า จริงๆเป็นทริก เล็กน้อย แต่ก็เป็นปํญหาหนัก ถ้าแก้ไขไม่ได้ นะ
Visual Web Studio 2005 Express Edition เวลามีปํญหา
เวลารัน แล้ว ขึ้น msgbox ว่า
The Binding Handle Is Invalid
ซึ่ง ทำให้ เข้า Debug Mode ไม่ได้
ทำดังนี้ ตาม ลิงค์
http://blogs.msdn.com/habibh/archive/2005/11/10/491572.aspx
โดย สรุป คือ ให้ Enable Services ชื่อ 'Terminal Services'
เมื่อ ทำแล้ว จะรัน ใน Debug Mode ได้เลย ครับ
ตอนแรก ติดปัญหานี้อยู่เป็นเดือน ไม่ได้ ดีบักเลย นึกว่าลงโปรแกรมผิด
เพิ่งรู้ว่า จริงๆเป็นทริก เล็กน้อย แต่ก็เป็นปํญหาหนัก ถ้าแก้ไขไม่ได้ นะ
04 May 2007
Digital Sign MSAccess VBA
http://office.microsoft.com/en-us/access/HA011071651033.aspx
ถ้าเปิดMS Access 2003 จะพบว่ามีการแจ้งเตือน ด้านความปลอดภัย หากต้องการเปลี่ยนแปลง
ต้องมีการ ทำการ Digital Sign ก่อน ซึ่ง มีขั้นตอน วิธีการคือ
เราจะต้อง มีการลงทะเบียนขอ Certificate กับ บริษัทที่ให้บริการเช่น Vergisign หรือใน ไทยก็มี
ไม่แน่ใจว่า เป้น TOT หรือ กสท หรือบริษัทอื่นๆ อันนี้ไม่ทราบ
http://msdn2.microsoft.com/en-us/library/aa141471(office.10).aspx
แต่ถ้าต้องการ ใช้เฉพาะในเครื่อง หรือเพื่อทดสอบ
ก็ใช้ เครื่องมือชื่อ selfcert.exe ที่อยู่ใน Folder ของ Office 2003
เช่น
C:\Program Files\Microsoft Office\OFFICE11
แล้วป้อน ชื่อ ที่จะใช้เก็บใน certificate มันจะเข้ารหัสไว้ แบบ private-public key
จะไม่เห้น ไฟล์ใหม่ปรากฏขึ้น แต่ ms office จะรับรู้ได้
ให้เปิดไฟล์ msacess นั้นแล้ว เข้าไปที่ Visual Basic Editor
แล้ว ก็ เข้าเมนู Tools > Digital Signatures
แล้วเลือก Certificate ที่ต้องการ ในรายการ กดปุ่ม OK
แล้วปิด MS Access File เมื่อปิดใหม่ จะพบว่าไม่มีการถามแล้ว
ถ้าจะนำไปใช้ ที่เครื่องอื่น ก็ต้องไปรัน selfcert.exe ทำแบบเดียวกันที่เครื่องอื่นก่อนด้วย
แต่เราจะต้องจำ ตัวหนังสือที่เราป้อน ให้กับ selfcert.exe ให้ดี ด้วย หรืออาจใช้ชื่อที่เราใช้ประจำๆ ก็ได้
ปกติ เราก็ใช้แค่แบบเดียว สองแบบ เพราะถ้าใช้งานจริง คงไม่อยากจ่ายเงินให้กับผู้ให้บริการ certificate
หลายๆใบ
การ Sing จาก certificate นั้นจะทำโดย
ถ้าเปิดMS Access 2003 จะพบว่ามีการแจ้งเตือน ด้านความปลอดภัย หากต้องการเปลี่ยนแปลง
ต้องมีการ ทำการ Digital Sign ก่อน ซึ่ง มีขั้นตอน วิธีการคือ
เราจะต้อง มีการลงทะเบียนขอ Certificate กับ บริษัทที่ให้บริการเช่น Vergisign หรือใน ไทยก็มี
ไม่แน่ใจว่า เป้น TOT หรือ กสท หรือบริษัทอื่นๆ อันนี้ไม่ทราบ
http://msdn2.microsoft.com/en-us/library/aa141471(office.10).aspx
แต่ถ้าต้องการ ใช้เฉพาะในเครื่อง หรือเพื่อทดสอบ
ก็ใช้ เครื่องมือชื่อ selfcert.exe ที่อยู่ใน Folder ของ Office 2003
เช่น
C:\Program Files\Microsoft Office\OFFICE11
แล้วป้อน ชื่อ ที่จะใช้เก็บใน certificate มันจะเข้ารหัสไว้ แบบ private-public key
จะไม่เห้น ไฟล์ใหม่ปรากฏขึ้น แต่ ms office จะรับรู้ได้
ให้เปิดไฟล์ msacess นั้นแล้ว เข้าไปที่ Visual Basic Editor
แล้ว ก็ เข้าเมนู Tools > Digital Signatures
แล้วเลือก Certificate ที่ต้องการ ในรายการ กดปุ่ม OK
แล้วปิด MS Access File เมื่อปิดใหม่ จะพบว่าไม่มีการถามแล้ว
ถ้าจะนำไปใช้ ที่เครื่องอื่น ก็ต้องไปรัน selfcert.exe ทำแบบเดียวกันที่เครื่องอื่นก่อนด้วย
แต่เราจะต้องจำ ตัวหนังสือที่เราป้อน ให้กับ selfcert.exe ให้ดี ด้วย หรืออาจใช้ชื่อที่เราใช้ประจำๆ ก็ได้
ปกติ เราก็ใช้แค่แบบเดียว สองแบบ เพราะถ้าใช้งานจริง คงไม่อยากจ่ายเงินให้กับผู้ให้บริการ certificate
หลายๆใบ
การ Sing จาก certificate นั้นจะทำโดย
03 May 2007
sqlcmd
from http://msdn2.microsoft.com/en-us/library/ms162773.aspx
sqlcmd Utility
ยอมให้คุณป้อน T-SQL statement,system procedure, script file ที่ command prompt ได้,
ทั้ง ใน Query Editor ใน SQLCMD mode ,
ใน windows script file
หรือ ใน cmd.exe ของ SQL Server agent job .
โปรแกรมนี้ใช้ OLE DB ในการรัน T-SQL แบบ แบทช์
ข้อสำคัญ
SQL Server Management Studio ใช้ SqlClient Class ใน .NET Framework ในการรันปกติ
และใช้ โหมด SQLCMD ใน Query Editor .
เมื่อ sqlcmd ถูกรันจาก commandline , sqlcmd จะใช้ OLE DB Provider.
เนื่องจากที่มีค่าเริ่มต้นที่ต่างกัน ก็อาจจะเห็นการทำงานที่ต่างกันได้ ในQuery เดียวกัน เมื่อใช้ในSQL Server Management studio ใน SQLCMD mode และใน sqlcmd utility .
...จะเห็นได้ว่า นอกจากจะใช้ graphics tools แล้ว เราก็อาจใช้sqlcmd.exe เพื่อรัน T-SQL ได้เช่นกัน ส่วนรายละเอียดนั้น ค่อนข้างมาก ในที่นี้ เขียนสั้นๆ และแค่มาแนะนำ นะครับ
sqlcmd Utility
ยอมให้คุณป้อน T-SQL statement,system procedure, script file ที่ command prompt ได้,
ทั้ง ใน Query Editor ใน SQLCMD mode ,
ใน windows script file
หรือ ใน cmd.exe ของ SQL Server agent job .
โปรแกรมนี้ใช้ OLE DB ในการรัน T-SQL แบบ แบทช์
ข้อสำคัญ
SQL Server Management Studio ใช้ SqlClient Class ใน .NET Framework ในการรันปกติ
และใช้ โหมด SQLCMD ใน Query Editor .
เมื่อ sqlcmd ถูกรันจาก commandline , sqlcmd จะใช้ OLE DB Provider.
เนื่องจากที่มีค่าเริ่มต้นที่ต่างกัน ก็อาจจะเห็นการทำงานที่ต่างกันได้ ในQuery เดียวกัน เมื่อใช้ในSQL Server Management studio ใน SQLCMD mode และใน sqlcmd utility .
...จะเห็นได้ว่า นอกจากจะใช้ graphics tools แล้ว เราก็อาจใช้sqlcmd.exe เพื่อรัน T-SQL ได้เช่นกัน ส่วนรายละเอียดนั้น ค่อนข้างมาก ในที่นี้ เขียนสั้นๆ และแค่มาแนะนำ นะครับ
from
http://msdn2.microsoft.com/en-us/library/ms165588.aspx
Overview of SQL Server Express .
SQL Server 2005 Express Edition เป็น database platform ที่อยู่บนพื้นฐานของ MSSQL Server 2005 , มาแทน MSDE . ทำงานร่วมกันได้กับ MS Visual Studio 2005, SQL Server Express ช่วยให้ง่ายในการสร้างapplicationที่เน้นงานด้านข้อมูล ซึ่งต้องเก้บข้อมูลจำนวนมาก , เพิ่ม ปลอดภัยของการเก็บข้อมูลมากขึ้น และติดตั้งระบบได้เร็วขึ้น
SQL Server 2005 Express Edition with Advanced Service ใน SQL Server Express เป็นรุ่นของ SQL Server Express ที่ได้รวม เครื่องมือ
สำหรับจัดการระบบในแบบ GUI, ความสามารถด้านการทำรายงาน และ ค้นหาแบบ text-based ได้
ทั้งสองรุ่น ให้ดาวน์โหลดฟรี สามารถ redistribute ได้ในเงื่อนไขของข้อตกลง
แต่ละรุ่น สามารถ ทำงานได้ทั้งเป็น client และ basic server database .
รุ่น Express เหมาะสำหรับ ISV , Server user , non-professinonal developers , web developer ,
Web site host , และผู้ที่ทำเป็นงานอดิเรก ซึ่ง สร้าง client application , ถ้าต้องการความสามรถระดับสูงกว่านี้ ควร upgrad เวอร์ชัน
http://msdn2.microsoft.com/en-us/library/ms165636.aspx
SQL Server Express Features
รุ่น Express สนับสนุนความสามารถส่วนใหญ่ของ Database Engine ของ SQLServer
หมายเหตุ
ถ้าเราสร้างและออกแบบ ข้อมูล ใน Express, สามารถปรับแต่งไปเป็น SQLServer 2005 ได้
แต่ไม่สามารถใช้ SQL Server version 2000 หรือต่ำกว่าได้
ต่อไปก็จะเป็นตารางแสดงสิ่งที่ SQL Server 2005 สนับสนุน
[ดูที่ต้นฉบับ]
ส่วนตารางต่อไป จะเป็น เรื่องของ Feature ที่มีใน SQL Server ร่นปกติ
แต่จะไม่มีใน SQL Server Express ซึ่งหลักๆก็คือ
[ดูที่ต้นฉบับ]
Reporting Services , Nofification Services , Integration Services , Analysis Services ,
Full text searcch , OLAP Service /Data Mining
from
http://msdn2.microsoft.com/en-us/library/ms365248.aspx
ส่วน SQL Server Express with Advanced Services Features นั้น
จะมี ฟีเจอร์เพิ่มมาอีกจาก รุ่น Express คือ
http://msdn2.microsoft.com/en-us/library/ms165588.aspx
Overview of SQL Server Express .
SQL Server 2005 Express Edition เป็น database platform ที่อยู่บนพื้นฐานของ MSSQL Server 2005 , มาแทน MSDE . ทำงานร่วมกันได้กับ MS Visual Studio 2005, SQL Server Express ช่วยให้ง่ายในการสร้างapplicationที่เน้นงานด้านข้อมูล ซึ่งต้องเก้บข้อมูลจำนวนมาก , เพิ่ม ปลอดภัยของการเก็บข้อมูลมากขึ้น และติดตั้งระบบได้เร็วขึ้น
SQL Server 2005 Express Edition with Advanced Service ใน SQL Server Express เป็นรุ่นของ SQL Server Express ที่ได้รวม เครื่องมือ
สำหรับจัดการระบบในแบบ GUI, ความสามารถด้านการทำรายงาน และ ค้นหาแบบ text-based ได้
ทั้งสองรุ่น ให้ดาวน์โหลดฟรี สามารถ redistribute ได้ในเงื่อนไขของข้อตกลง
แต่ละรุ่น สามารถ ทำงานได้ทั้งเป็น client และ basic server database .
รุ่น Express เหมาะสำหรับ ISV , Server user , non-professinonal developers , web developer ,
Web site host , และผู้ที่ทำเป็นงานอดิเรก ซึ่ง สร้าง client application , ถ้าต้องการความสามรถระดับสูงกว่านี้ ควร upgrad เวอร์ชัน
http://msdn2.microsoft.com/en-us/library/ms165636.aspx
SQL Server Express Features
รุ่น Express สนับสนุนความสามารถส่วนใหญ่ของ Database Engine ของ SQLServer
หมายเหตุ
ถ้าเราสร้างและออกแบบ ข้อมูล ใน Express, สามารถปรับแต่งไปเป็น SQLServer 2005 ได้
แต่ไม่สามารถใช้ SQL Server version 2000 หรือต่ำกว่าได้
ต่อไปก็จะเป็นตารางแสดงสิ่งที่ SQL Server 2005 สนับสนุน
[ดูที่ต้นฉบับ]
ส่วนตารางต่อไป จะเป็น เรื่องของ Feature ที่มีใน SQL Server ร่นปกติ
แต่จะไม่มีใน SQL Server Express ซึ่งหลักๆก็คือ
[ดูที่ต้นฉบับ]
Reporting Services , Nofification Services , Integration Services , Analysis Services ,
Full text searcch , OLAP Service /Data Mining
from
http://msdn2.microsoft.com/en-us/library/ms365248.aspx
ส่วน SQL Server Express with Advanced Services Features นั้น
จะมี ฟีเจอร์เพิ่มมาอีกจาก รุ่น Express คือ
- SQL Server Management Studio Express เป็นเครื่องมือแบบ graphic สำหรับจัดการดูแล SQL Server Database
- Reporting Services รวม ตัวสร้างรีพอร์ท และสภาพแวดล้อมการออกแบบรายงาน ไว้
- Full-text Search , เป็น Search Engine ที่ทรงพลังในการ ค้นหา ข้อมูลที่มีลักษณะ text-sensitive
02 May 2007
from
http://msdn2.microsoft.com/en-us/library/aa172787(SQL.80).aspx
Writing International Transact-SQL Statement
ถ้าต้องการให้ T-SQL Statement portableมากขึ้นให้ทำดังนี้
-เปลี่ยน char, varchar ,text ให้เป็น ncharm , nvarchar , ntext
ซึ่งจะทำให้ไม่ต้องเลือก codepage ในการเปลี่ยนชุดตัวอักษร
- เมื่อประมวลผลเปรียบเทียบ mount / day-of-week ให้ใช้
function dateparts() แทน datename() เพราะว่าแต่ละภาษาจะ ส่งค่ามาต่างกัน
อย่าโค้ด ใน program ให้ผูกกับ function datename เว้นแต่เมื่อจะแสดงผลอย่างเดียวเท่านั้น
- เมื่อ อ้างถึง วัน ในการเปรียบเทียบหรือ เป็น input ของ INSERT หรือ UPDATE
statement ให้ใช้ ค่าคงที่ ซึ่งจะแปลงไปเป็นค่าเดียวกันเสมอ ในทุกๆภาษา
ADO ,OLEDB ,ODBC application จะต้องใช้ รูปประโยคของ timestamp,date , และ time ในแบบ Odbc escape clause ลักษณะนี้
{ ts 'yyyy-mm-dd hh:mm:ss[.fff] '} เช่น: { ts '1998-09-24 10:02:20' }
{ d 'yyyy-mm-dd'} เช่น: { d '1998-09-24' }
{ t 'hh:mm:ss'} เช่น: { t '10:02:20'}
Application ที่ใช้ API อื่น หรือ T-SQL Script Store procedure และ Trigger จะต้องใช้
การเขียนในลักษณะ ที่เป้นตัวเลขที่เชื่อมต่อกันโดยไม่เว้นวรรค ตัวอย่างเช่น yyyymmdd เช่น 19980924
Application ที่ใช้ API อื่น หรือ T-SQL Script Store procedure และ Trigger อาจจะใช้
CONVERT Statement ร่วมกับการระบุ style parameter สำหรับทุกๆการแปลงค่าระหว่าง
ตัวแปรประเภท date และ smalldate และ character string และ data types .
ตัวอย่างเช่น ประโยคต่อไปนี้จะได้รับการแปลแล้วเหมือนกัน ในทุกๆภาษา หรือในทุกๆ การเซ็ตรูปแบบวันที่
SELECT *
FROM Northwind.dbo.Orders
WHERE OrderDate = CONVERT(DATETIME, '7/19/1996', 101)
ข้อมูล เพิ่มเติม ให้ดูที่ CAST และ CONVERT Statement
http://msdn2.microsoft.com/en-us/library/aa172787(SQL.80).aspx
Writing International Transact-SQL Statement
ถ้าต้องการให้ T-SQL Statement portableมากขึ้นให้ทำดังนี้
-เปลี่ยน char, varchar ,text ให้เป็น ncharm , nvarchar , ntext
ซึ่งจะทำให้ไม่ต้องเลือก codepage ในการเปลี่ยนชุดตัวอักษร
- เมื่อประมวลผลเปรียบเทียบ mount / day-of-week ให้ใช้
function dateparts() แทน datename() เพราะว่าแต่ละภาษาจะ ส่งค่ามาต่างกัน
อย่าโค้ด ใน program ให้ผูกกับ function datename เว้นแต่เมื่อจะแสดงผลอย่างเดียวเท่านั้น
- เมื่อ อ้างถึง วัน ในการเปรียบเทียบหรือ เป็น input ของ INSERT หรือ UPDATE
statement ให้ใช้ ค่าคงที่ ซึ่งจะแปลงไปเป็นค่าเดียวกันเสมอ ในทุกๆภาษา
ADO ,OLEDB ,ODBC application จะต้องใช้ รูปประโยคของ timestamp,date , และ time ในแบบ Odbc escape clause ลักษณะนี้
{ ts 'yyyy-mm-dd hh:mm:ss[.fff] '} เช่น: { ts '1998-09-24 10:02:20' }
{ d 'yyyy-mm-dd'} เช่น: { d '1998-09-24' }
{ t 'hh:mm:ss'} เช่น: { t '10:02:20'}
Application ที่ใช้ API อื่น หรือ T-SQL Script Store procedure และ Trigger จะต้องใช้
การเขียนในลักษณะ ที่เป้นตัวเลขที่เชื่อมต่อกันโดยไม่เว้นวรรค ตัวอย่างเช่น yyyymmdd เช่น 19980924
Application ที่ใช้ API อื่น หรือ T-SQL Script Store procedure และ Trigger อาจจะใช้
CONVERT Statement ร่วมกับการระบุ style parameter สำหรับทุกๆการแปลงค่าระหว่าง
ตัวแปรประเภท date และ smalldate และ character string และ data types .
ตัวอย่างเช่น ประโยคต่อไปนี้จะได้รับการแปลแล้วเหมือนกัน ในทุกๆภาษา หรือในทุกๆ การเซ็ตรูปแบบวันที่
SELECT *
FROM Northwind.dbo.Orders
WHERE OrderDate = CONVERT(DATETIME, '7/19/1996', 101)
ข้อมูล เพิ่มเติม ให้ดูที่ CAST และ CONVERT Statement
ทดลองส่งภาพ
ลองเอาภาพ ขึ้น blog เผื่อว่าวันหลังจะได้
นำภาพหน้าจอโปรแกรมที่แนะนำ หรืออื่นๆ มาให้ดูกันครับ
ภาพนี้ทำเอง ด้วย Google SketchUp 6
และ เร็นเดอร์ด้วย software free ที่ชื่อ blender อีกครั้ง
blender นั้น อาจจะสู้ 3D Max ไม่ได้ มีข้อดีอย่างเดียวคือ ฟรีครับ แต่เท่าที่ดู ใช้ยากและยังมี crash ระหว่างทางอีก
ส่วนอันนี้ เป็น iGoogle หรือ เป็นเว็ปที่เราจะ customizeได้ เมื่อ login เข้าสุ่ google Account ซึ่งจะเป็น mail ของเรา mail อะไรก็ได้ ไม่จำเป็นต้องเป็น g-mail แล้วเมื่อเข้าไปแล้ว เรา จะเลือก wiget (ช่องแต่ละช่อง ของ application ) มาใส่ เช่น นาฬิกา ปฏิทิน( บันทึกแก้ไขรายการได้อีกเยอะ) หรือ notepad หรือดิกชันนารี และการ์ตูนการ์ฟิว ข่าว
แต่ปัญหา ของ iGoogle ที่พบ คือ แม้จะเพิ่มหลาย tab แล้ว บางครั้งเมื่อใช้ๆไป
อยุ่ๆ tab หาย , widget ที่ใช้อยู่หาย ก็ต้องมาเพิ่มใหม่ไม่แน่ใจเหมือนกันว่าเพราะอะไร ลองๆเอาหน้าจอมา
ให้ดูกันน่ะครับ การล้อกin ก็จะใช้ Google Toolbar ที่เป็นรูป วงกลมสีเขียวเป็น ตัว singin , singoff
แล้วค่อยกด ตัวหนังสือ google ที่ toolbar เพื่อมาที่หน้าจอนี้
Subscribe to:
Posts (Atom)