29 กรกฎาคม 2554

การใช้งาน Enum และ CONSTRUCTOR

1. การประกาศ Enum และ CONSTRUCTOR

Public Class Class1

Private objStatus As enuOperation_Type
Public Enum enuOperation_Type
ADDNEW
UPDATE
DELETE
SEARCH
NULL
End Enum

Public Sub New(ByVal Operation_Type As enuOperation_Type)
MyBase.New()
'This call is required by the Windows Form Designer.
' InitializeComponent() 'ถ้าเป็น windows Form ใช้งานตรงนี้

'Add any initialization after the InitializeComponent() call
objStatus = Operation_Type
End Sub

End Class


2. การใช้งาน

Private Sub testEnum_CONSTRUCTOR()
        Try
            Dim objcls As New Class1(Class1.enuOperation_Type.ADDNEW)
        Catch ex As Exception
            Throw ex
        End Try
End Sub

การใช้งาน app.config

การใช้งานฐานข้อมูล MS SQL 2005/2008 (NewDatabase,Backup,Restore)

1. การสร้างฐานข้อมูล

27 กรกฎาคม 2554

ติดตั้ง ASP.NET

ไปที่ C:\WINNT\Microsoft.NET\Framework\v2.0.xxxxx แล้วกดรัน
จะขึ้นหน้าต่าง Dos แล้วพิมพ์ตามข้างล่างแล้ว Enter

aspnet_regiis –i


24 กรกฎาคม 2554

Kill All Process SQL Server 2005/2008

ขั้นตอน

1. รัน Query ข้างล่างนี้

DECLARE @DatabaseName nvarchar(50)
DECLARE @SPId int
DECLARE @SQL nvarchar(100)
 
--SET @DatabaseName = N'DatabaseName'
 SET @DatabaseName = DB_NAME()
 DECLARE my_cursor CURSOR FAST_FORWARD FOR
 SELECT SPId FROM MASTER..SysProcesses
 WHERE DBId = DB_ID(@DatabaseName) AND SPId <> @@SPId
 
OPEN my_cursor
 
FETCH NEXT FROM my_cursor INTO @SPId
 
WHILE @@FETCH_STATUS = 0
 BEGIN
  SET @SQL = 'KILL ' + CAST(@SPId as nvarchar(10))
  print @SQL
  EXEC sp_executeSQL @SQL
  --KILL @SPId -- Causing Incorrect syntax near '@spid'.
 
 FETCH NEXT FROM my_cursor INTO @SPId
 END
 
CLOSE my_cursor
DEALLOCATE my_cursor 

2. ปิดหน้าต่างของ Query ด้านบนทิ้ง แล้วสามารถใช้งานเช่น Restore database ได้เลย

การใช้งานตัวแปล TABLE (DECLARE TABLE )

เราสามารถประกาศตัวแปล Table เก็บข้อมูลและใช้งานข้อมูลที่เก็บเข้าได้ และเมื่อใช้งานเสร็จตัวแปลก็จะหายไป
ไม่เปลืองฐานข้อมูลของเรา

// sql code
DECLARE @tempTable TABLE (
Indextest varchar(13)
,Qty float
,Name Varchar(50)
,chkFraction bit DEFAULT (0))

INSERT INTO @tempTable 
values('121212',10,'name1',0)


SELECT * FROM @tempTable 

การใช้งาน Cystal Report VS2005



23 กรกฎาคม 2554

การใช้งาน CURSOR (เพื่อ Loop ข้อมูลที่ Select มาได้)

// sql code
---- ประกาสตัวแปลเพื่อเก็บค่าแต่ละรอบ
DECLARE @Tag_No varchar(50)

DECLARE SharpStockOver_cursor CURSOR FOR
select Tag_No
from tb_LocationBalance
group by Tag_No
having count(Tag_No) > 1

---- เริ่มต้นเป็นค่าว่าง
set @Tag_No = ''  

----เปิดให้ Corsur ทำงาน
OPEN SharpStockOver_cursor
---- เริ่มต้นทำงาน Row แรก และเก็บค่าในตัวแปล
FETCH NEXT FROM SharpStockOver_cursor
INTO @Tag_No
---- วนลูปจนหมด Row
WHILE (@@FETCH_STATUS = 0)
Begin
 ---- Begin Action ----
 DELETE tb_LocationBalance where Tag_No = @Tag_No
 ---- End Action ----
        ---- ทำงาน Row ต่อไป และเก็บค่าในตัวแปล
 FETCH NEXT FROM SharpStockOver_cursor
 INTO @Tag_No
END
CLOSE SharpStockOver_cursor
DEALLOCATE SharpStockOver_cursor 

22 กรกฎาคม 2554

แปลงทศนิยม SQL SERVER

การแปลงทศนิยมเราสามารถใช้แค่ ROUND ได้ แต่เข้าถึงระดับ Column ในดาต้าเบสเราต้องมีการ CAST เข้ามาช่วยส่วนเรื่องของ
ความสามารถของทั้งสองฟังก์ชั่นรบกวนไปศึกษาเอาเองนะครับ

// sql code
SELECT CAST(ROUND((Filed_Name),2) AS Numeric(18,2))
FROM  Table_Name

21 กรกฎาคม 2554

สีเสื้อประจำวันเกิด

เอามาฝากสำหรับคนต้องการความเชื่อมั่นและมั่นใจ
วันไหน ใส่เสื้อผ้าสีอะไร ถึงจะดี มีโชคลาภ มีคนอุปถัมภ์ค้ำชู หรือใส่แล้วซวย เป็นกาลกิณี มาเช็คได้ที่ตารางนี้
วันเดช

อำนาจ สิทธิ์
ศรี (ศิริมงคล)
โชคลาภ

เงินทอง
มนตรี

ผู้อุปถัมภ์ช่วยเหลือ
กาลกิณี

อับโชค ไม่ดี
จันทร์เขียวม่วง

เม็ดมะปราง
ฟ้าน้ำเงินสดแดง
อังคารม่วงส้มแดงเหลืองขาว
พุธส้มแสดดำน้ำตาลแก่เทาแก่เหลืองชมพู
พฤหัสบดีฟ้าน้ำเงินแดงเขียวม่วง
ศุกร์เหลืองขาวชมพูส้มแสดดำน้ำเงินเข้มเทาแก่
เสาร์ดำน้ำเงินเข้มน้ำตาลน้ำเงินสดฟ้าชมพูเขียว
อาทิตย์ชมพูเขียวดำน้ำเงินเข้มน้ำตาลฟ้าน้ำเงินสด

การทำ Syntax Highlighter ใน blog

// sql code
SELECT * FROM Table_Name
WHERE Column_Name not in ('Test')

8 กรกฎาคม 2554

การเคลียร์ log ในดาต้าเบส (Clear log)

          ผมเคยทำการ Backup ฐานข้อมูลจากลูกค้าท่านหนึ่ง ปรากฏว่าได้ขนาด 8 GB ครับ
งงมาก เลยทำการเครียร์ log ในฐานข้อมูลแล้วทำการ Backup ใหม่ ปรากฏว่าได้ขนาดเหลือ 100 MB
หวังว่า Query นี้น่าจะเกิดประโยชน์ต่อผู้ใช้งาน

// sql code
backup log Database_Name with no_log
backup log Database_Name with truncate_only
dbcc shrinkdatabase(Database_Name ,1)

เริ่มต้นใช้งาน Windows Mobile Emulator

6 กรกฎาคม 2554

Row_Number (หมายเลขบรรทัดของการ query)

MS SQL Server 2000

// sql code
SELECT top 10  (SELECT COUNT(*) FROM ms_Customer as c2
          WHERE c2.Customer_Index <= c1.Customer_Index) as myNo, c1.*
FROM ms_Customer as c1
MS SQL Server 2005
// sql code
SELECT top 10 Row_Number() OVER(ORDER BY Customer_Index) AS RowNo,*
FROM ms_Customer