I'm AI.

"ปัญญาประดิษฐ์ได้"

พอดีวันนี้ต้องลองทดสอบดูว่า PHP สามารถใช้ฐานข้อมูลของ SQL Server ได้ไม๊
ไปอ่านเจอ ว่าให้ Un Comment ในไฟล์ php.ini บรรทัด extension=php_mssql.dll ออก จากนั้น Reboot Apache
แต่ปรากฏว่ามันเกิด Error นี้ขึ้นครับ
Fatal error: Call to undefined function: mssql_connect()
ไปเปิดเจอในเว็ป เค้าให้ copy file “ntwdblib.dll” ไปใส่ไว้ใน c:\\windows\system32 ครับ เท่านี้ก็เรียบร้อย ^^

เมื่อเช้าผมเจอปัญหาว่า Database Server(Windows 2003) ตัวหนึ่งในประเทศ เกิดบูตไม่ติดขึ้นมา มันก็เลยเป็นปัญหา ที่ต้องเข้าไปแก้
ตอนแรกคิดว่าเป็นที่ Windows พังกะว่าลง WIndows หรือ Repair ใหม่ก็น่าจะหาย แต่พอไปถึงมันไม่ใช่แบบนี้ ปัญหามันอยู่ที่ Hardware
ก็เลยตัดสินใจว่า ต้องหาวิธีเอาไฟล์ Backup Database ออกมาให้ได้่ก่อน แล้วไปรันในเครื่องสำรอง เพราะ ไฟล์ ถูกเก็บอยู่ในอีก Partition นึงด้วย Harddisk 4 ลูกและทำ RAID 5 ไว้ ก็เลยใช้วิธี ใช้ แผ่น Ubuntu Live Cd Boot เข้าไปก่อน แล้วจากนั้นก็ไป Copy ไฟล์ออกมาจาก Drive แค่นี้ก็เรียบร้อย

select concat(‘Imnuke’,’  ’,’Im-AI’)   =  Imnuke Im-AI
select concat(‘Imnuke’,’  ’,’Im-AI’,NULL)   =  NULL
วันนี้เจอปัญหาโปรแกรมดึงข้อมูลวิธีการใช้ยาแล้วไม่ยอมแสดง
หลังจากตรวจสอบพบว่า  มีการนำค่ามา Concat  กัน  ซึ่งเวลา  Query  ข้อมูลออกมาดู
โปรแกรมไม่แสดงบอกว่าเป็น  NULL  หรือ  ”   ก็ไล่ไปไล่มาว่าทำไมข้อมูลไม่ยอมออก
และแล้วก็พบว่า  select concat   String  กับ  NULL = NULL
มีอยู่ 1  ฟิลที่มีค่าเป็น  NULL  โอ้วววววววว
แล้วก็ไม่บอกตั้งแต่แรกว่าเป็น null  เพราะแสดงออกมาเป็นค่าว่างเหมือนกัน

ในกรณีที่เราต้อง การ Select ข้อมูลบางอย่างอาจจะไม่ต้องการหมด เช่นต้องการ Query เบอร์โทรศัพท์ แล้วไม่ต้องการเอา 4 ตัวท้ายมา
เช่นเบอร์เป็น 086617xxxx เราก็สามารถให้ Oracle ทำให้แทนได้ (CPU เค้าแรง Ram เค้าเยอะ อิอิ)
SELECT CONCAT(SUBSTR(MOBILE_NUMBER,1,6) ,’XXXX’ ) AS MOBILE_XX FROM MOBILE
โดยในการทำ Sub String นั้นเราจะใช้ SUBSTR(Feild,Start Index,Length) ก็คล้าย กับใน C หรือ VB
และจากตัวอย่างได้ใช้ CONCAT มาเพื่อต่อ String ที่เราต้องการ CONCAT(StringA,StringB)  ^^
อ้างอิง : http://www.psoug.org/reference/string_func.html

พอดีมีงานที่ต้องเขียนเชื่อมต่อฐานข้อมูลของ SQL Server ซึ่งไปอ่าน ๆ ดูก็ง่าย ๆ (Oracle, MySQL ก็เขียนคล้ายกันมาก)
ตัวอย่างผมใช้ VB.NET เขียนนะครับ
เริ่มแรกก็ Import ก่อนเลย
Imports System.Data.SqlClient
จากนั้นก็ตามด้วย Code ตัวอย่าง อย่างง่าย ๆ
Private Sub readDataTOListView(ByVal lv As ListView)
Dim sqlServerConnect As SqlConnection
Dim sqlCommand As SqlCommand
Dim dr As SqlDataReader
sqlServerConnect = New SqlConnection(“server=localhost;uid=sa;pwd=123456;database=myDatbase”)
Try
sqlServerConnect.Open()
sqlCommand = New SqlCommand(“Select * from mytable”, sqlServerConnect)
dr = sqlCommand.ExecuteReader()
If dr.HasRows Then
While dr.Read()
With lv.Items.Add(dr.Item(“ID”).ToString())
.SubItems.Add(dr.Item(“Data1″))
.SubItems.Add(dr.Item(“Data2″))
End With
End While
End If
dr.Close()
Catch ex As Exception
MessageBox.Show(ex.ToString())
End [...]

  

Recent Entries

    Recent Comments

      Most Commented