3 ตุลาคม 2555

รายการ .NET Component ทั้งหมด

combo_package

สถาปัตยกรรมเทียร์ (Tier)

Tier คำนี้เมื่อแปลออกมาจะแปลได้ว่า "ชั้น"
Tier ในวงการ Software ก็มีความหมายคล้ายกัน สำหรับท่านที่ยังไม่เข้าใจขอแนะนำง่ายๆ โดยให้มองว่า "ชั้น" นั้นเป็นนามธรรม เมื่อนำมาใช้ในวงการ Software แล้ว จำเป็นต้องสร้างนามธรรมนั้นเป็นภาพลักษณ์ขึ้นมา
นิยามเฉพาะเจาะจงของ Tier ก็คือ "การรับ-ส่งข้อมูลในชั้นต่างๆ" นั่นเอง มักจะใช้คำว่า Tier กับ Software ทาง Business solution ที่มีระบบเครือข่าย มี Database Server ผู้เขียนจะจำแนกสถาปัตยกรรมเทียร์เป็น 3 แบบ ให้เห็นความแตกต่างอย่างชัดเจน


  1. 2 Tier
  2. 3 Tier
  3. Multi-tier

19 กันยายน 2555

IIS is not a valid Win32 application (Windows x64)

การแก้ไข IIS ไม่สามารถรันเว็บได้บนเครื่อง 64 บิท x64

 ขึ้น is not a valid Win32 application
 
 

6 กันยายน 2555

ผญ๋า อีสาน พฤติกรรมไม่ควรปฏิบัติ(1)


ผะหญาสุภาษิต
พฤติกรรมไม่ควรปฏิบัติ
คัดจาก กาพย์ปู่

       ï มีดน้อยฟันเข้า  เด็กอวดรู้เกินวัยï   ผู้เฒ่ากล่าวคำหาญ   เป็นคนแก่มักพูดจาคุยโวโอ้อวด
ï  ปูมหลวงบอกยาป้าง  คนป่วยบอกยารักษาโรคï   แม่ฮ้างบอกยาสะเหน   หญิงม้ายบอกยาเสน่ห์ï  คนโลเลสอนควมฮู้   คนไม่มีความรู้ไปสอนคนอื่นï   คนลบหลู่ชี้บอกทางคุณ   คนเนรคุณ ชี้นำให้คนอื่นเกี่ยวกับเรื่อบุญคุณï คนเป็นขุนบอกทางค้า  ข้าราชการแนะนำการค้าขายï  คนขี่ข้าบอกทางเงิน    คนรับใช้คนยากจนบอกแนวทางการหาเงินï  คนมั่งมีกินทานบ่ได้   คนร่ำรวย มีแต่ความเห็นแก่ตัวไม่มีการทำบุญทำทานï  คนขี้ไฮ้อวดอ้างฮ่างมี   คนจนยากไร้อวดอ้างว่าตนเองร่ำรวยï  คนเป็นชีหาเงินรับจ้าง  เป็นนักบวชพระสงฆ์หรือชีรับจ้างหาเงินï  คนอวดอ้างยกย่องว่าโตดี   คนอวดอ้างยกย่องตัวเอง  เป็นอาจารย์หากินแต่เหล้า  คนที่เป็นครูบาอาจารย์ติดสุราï  เป็นผู้เฒ่าควมฮู้บ่ถาม   เป็นคนแก่ที่สนใจในการเรียนรู้ประสบการณ์ï   เป็นสมภารลูกวัดบ่ย้าน  เป็นเจ้าอาวาสที่พระลูกวัดไม่ยำเกรง ไม่นับถือ ไม่มีความสามารถในการปกครองï 

การเขียน Connection String แบบต่างๆ เพื่อเชื่อมต่อ SQLConnection (.Net)



ในการทำให้โปรแกรมของเรา สามารถติดต่อฐานข้อมูล 
อันนึงที่มักเป็นปัญหา บ่อยๆ คือ การเขียน Connection String ผิด

30 สิงหาคม 2555

คำคมขงเบ้ง


เกียรติยศย่อมเกิดจากการกระทำที่สุจริต

ถ้าคุณหัวเสีย คุณจะเสียหัว

อย่าไล่สุนัขให้จนตรอก อย่าต้อนคนให้จนมุม

อำนาจที่ปราศจากเหตุผล คือ อำนาจของคนพาล อำนาจที่ปราศจากความเมตตา คือ อำนาจที่นำมาซึ่งความปราชัย

ถ้าคุณคิดจะเป็นใหญ่ คุณก็จะได้เป็นใหญ ถ้าคุณคิดอยากเป็นอะไร คุณก็จะได้เป็นสิ่งนั้น

เพราะแสวงหา มิใช่เพราะรอคอย เพราะเชี่ยวชาญ มิใช่เพราะโอกาส เพราะสามารถ มิใช่เพราะโชคช่วย ดังนี้แล้ว

"ลิขิตฟ้าหรือจะสู้มานะตน"

ใช้คำสั่ง Query ด้วย TEXT หรือ NVARCHAR มากกว่า 4000 (Execute Query With NVARCHAR More Than 4000 )

ใช้คำสั่ง Query ด้วย TEXT หรือ NVARCHAR ข้อดีคือสามารถรับได้ถึง 8000 ตัวอักษร
declare @sql nvarchar(4000)
declare @sql2 nvarchar(4000)
SET  @sql = 'SELECT * FROM TABLE'
SET  @sql2 = ' WHERE 1=1'
EXEC(@sql + @sql2)

สั่ง Query ด้วย NVARCHAR ( Execute Query With NVARCHAR)

ใช้คำสั่ง Query ด้วย TEXT หรือ NVARCHAR ข้อเสียคือสามารถรับได้แค่ 4000 ตัว

declare @sql nvarchar(4000)
SET  @sql = 'SELECT * FROM TABLE'
execute sp_executesql @sql

20 สิงหาคม 2555

การสร้าง PrimaryKey ให้ DataTable

'-------------------------------------------------------------------------
'สร้าง PrimaryKey แบบหนึ่ง Key
Dim dtTempCal As New DataTable
dtTempCal.Columns.Add("Data", GetType(String))
dtTempCal.Columns.Add("Key_No", GetType(String))

dtTempCal.PrimaryKey = New DataColumn() {dtTempCal.Columns("Key_No")}

'การเรียกใช้งานเพื่อ update data ใน DataTable แบบหนึ่ง Key
Dim drNewrow as DataRow
drNewrow = dtTempCal.NewRow
drNewrow = dtTempCal.Rows.Find("001") 'Key_No = "001"
drNewrow.BeginEdit()
drNewrow("Data") = "Test"
drNewrow.EndEdit()

-------------------------------------------------------------------------
'สร้าง PrimaryKey แบบมากกว่าหนึ่ง Key
Dim dtTempCal2 As New DataTable
dtTempCal2.Columns.Add("Data", GetType(String))

Dim primaryKey(1) As DataColumn
primaryKey(0) = dtTempCal2.Columns.Add("Key_No1", GetType(String))
primaryKey(1) = dtTempCal2.Columns.Add("Key_No2", GetType(String))
dtTempCal2.PrimaryKey = primaryKey

'การเรียกใช้งานเพื่อ update data ใน DataTable แบบมากกว่าหนึ่ง Key
Dim oKey(1) As Object
oKey(0) = "001"
oKey(1) = "002"
drNewrow = dtTempCal2.Rows.Find(oKey) 'Key_No1 = "001",'Key_No2 = "002"
drNewrow.BeginEdit()
drNewrow("Data") = "Test"
drNewrow.EndEdit()