Nov 27, 2008

อยู่ใน A แต่ไม่อยู่ใน B

ในระบบฐานข้่อมูลอย่าง mySQL มีหลายคำสั่งที่จะช่วยให้งานของเราง่ายขึ้น

อย่างคำสั่ง UNION ซึ่งนำการค้นข้อมูลจากหลายๆ คำค้นมาต่อเชื่อมกันเป็นตารางเดียว

คำสั่งนี้ บางคนอาจจะยังไม่ทราบ ผมขอเขียนตัวอย่างให้ดูสั้นๆ ล่ะกัน

(Query1) UNION (Query2)

โอ้ววว สั้นจริงๆ แฮะๆ

ผลลัพธ์ที่จะได้จากคำสั่งเมื่อกี้คือ

แถวที่เกิดขึ้นจะเกิดจาก ข้อมูลทั้งสองต่อเรียงกัน



เอาล่ะ สืบต่อจากหัวข้อก็คือ

ถ้าเราต้องการข้อมูลที่อยู่ในตารางที่หนึ่ง แต่ไม่อยู่ในตารางที่สอง

จะเขียนคำสั่งอย่างไรดี???

ก่อนหน้านี้ ผู้เขียนประสบปัญหาจากข้อมูลที่มีจำนวนมาก

ตัดสินใจไม่ได้สักที ว่าจะเริ่มคัดกรองอย่างไร

จนมาจบลงที่ ขั้นตอนง่ายๆ ของเรื่อง SUBSET


มาดูลักษณะคำสั่งที่ใช้กัน

- อยู่ทั้งใน A และ B

SELECT a.id FROM a LEFT JOIN b ON a.id = b.aid WHERE a.id IS NOT NULL or b.aid IS NOT NULL;

- อยู่ใน A แต่ไม่อยู่ ใน B

SELECT a.id FROM a LEFT JOIN b ON a.id = b.aid WHERE b.aid IS NULL;


ลองไปใช้ดูนะครับ

ลิงค์อ่านเพิ่มเติมนะครับ :: Link1

การตัดทศนิยมแบบปัดตัวเลขและไม่ปัดตัวเลข

เนื่องจากมีการคำนวณบางอย่างที่มีทศนิยมหลายตำแหน่ง

ซึ่งการทำงานรายงาน หรือทำเว็บหรือโปรแกรมที่เกี่ยวข้องนั้น

จำเป็นต้องศึกษา เรื่องของข้อมูลที่จะนำมาคำนวณเป็นอย่างดี

เพราะนั่นอาจจะเป็นจุดหนึ่งที่ทำให้ คุณต้องถูกฟ้องร้องทีหลังได้

หากไม่รอบคอบในครั้งนี้


การตัดตัวเลขทศนิยม มีการตัดอยู่สองแบบ

คือ ตัดแบบมีการปัดเศษ เช่น

1.7869 => ปัดให้เหลือสองตำแหน่ง => 1.79

หรือ ตัดแบบไม่สนใจทศนิยมตัวถัดไป เช่น

1.7869 => ปัดให้เหลือสองตำแหน่ง => 1.78

ทั้งสองกรณีมีโอกาสได้ใช้ทั้งนั้น


ซึ่ง mySQL มีความสามารถนี้อยู่เช่นกัน โดยการใช้ คำสั่งดังนี้

- ตัดแบบมีการปัดเศษ จะใช้ ROUND(X), ROUND(X,D)

ROUND(1.7869,2) => 1.79

- ตัดแบบไม่สนใจทศนิยมตัวถัดไป จะใช้ TRUNCATE(X,D)

TRUNCATE(1.7869,2) => 1.78

ขอให้โชคดีครับ ^ ^

ลิงค์เพิ่มเติมนะครับ :: Link1

Out of range value adjusted for column error!

หัวข้อนี้เกี่ยวข้องกับการแก้ปัญหากรณีที่ เราไปกำหนดให้ mySQL

ตรวจสอบชนิดข้อมูล รวมถึงขนาดข้อมูล ที่เปิดไว้ในตารางของฐานข้อมูล

ถ้าหาก ชนิดที่กรอก หรือกำหนดข้อมูลเกินที่ได้กำหนดไว้

mySQL ก็จะแจ้งเราให้รู้ดังข้อความประมาณนี้ (บรรทัดล่าง)

"Out of range value adjusted..."


มันเป็นเรื่องถูกต้องแล้วล่ะที่ mySQL ไม่ยอมให้เรา Insert Data

เพราะข้อมูลที่ถูกนำเข้่าไป อาจจะขาดหาย หรือไม่สมบูรณ์

ซึ่งน่าจะส่งผลเสียในภายหลังได้

แต่ทั้งนี้บางคนอยากจะเปิดให้ยอมให้กรอกข้อมูลเข้าไปได้

เราก็มีวิธีมาแนะนำ ดังนี้

เข้าไปแก้ไฟล์ my.ini ของ mySQL

โดยไปปิดคำสั่งเอาไว้ ลองเทียบดูกับคำสั่งด้านล่างนะครับ

--------------------------------
# Set the SQL mode to strict
#sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
--------------------------------

เมื่อ restart service mySQL ก็จะสามารถนำข้อมูลเ้จ้าปัญหาดังกล่าว เข้าสู่ตารางข้อมูลได้แล้ว ครับ ^ ^

ข้อมูลที่เกี่ยวข้อง ::
Link1

กำหนดให้ mySQL อ่านภาษาไทยได้

หลายๆ คนที่เริ่มทำงานไปสักพัก ก็ต้องมีบ้างที่รู้สึกว่า

บางส่วนในงานเริ่มทำงานไม่ได้ดั่งใจ

สำหรับชาวไอที หรือบรรดาผู้พัฒนาโปรแกรมมือใหม่

ที่จำเป็นต้องติดต่อฐานข้อมูล เช่น PHP+mySQL หรือ JSP+mySQL

มักจะเริ่มต้นพัฒนาด้วยการติดตั้ง Appserv ซึ่งเป็นตัวที่รวมเครื่องมือ

ให้สามารถลงได้สะดวก คือลงเสร็จ ก็สามารถพัฒนาเว็บไซต์

ภาษา PHP กับ mySQL ได้ทันที โดยไม่จำเป็นต้องมีความรู้อะไรมากนัก



จริงอยู่ ที่ว่า Appserv มีประโยชน์ที่ทำให้เราสามารถเริ่มพัฒนางานได้เร็วขึ้น

แต่ถ้าหากได้ทำงานในองค์กร แล้วล่ะก็ทางเลือกที่จะใช้ Appserv นั้นดูจะไม่เหมาะนัก

ผู้เขียนเองแม้ยังเป็นเพียงผู้พัฒนาวัยละอ่อน แต่คาดว่า นี่อาจเป็นทางเลือกที่ดีกว่า ^ ^


อย่ากลัว! ที่จะเปลี่ยนแปลง

ความรู้ที่ใหม่ๆ บางครั้ง มันก็ได้มาพร้อมกับปัญหาที่ใหม่ๆ เหมือนกัน

เอาล่ะปัญหา แรกที่เราน่าจะพบกัน

คือปัญหาการแสดงผลภาษาไทยของ mySQL

สิ่งที่สังเกตได้ว่าเราเข้าข่ายที่ต้องแก้ไข mySQL ให้ภาษาไทยกลับมาอ่านออกเขียนได้กัน

อันดับแีรก เข้าไปหาไฟล์ ชื่อ my.ini หรือ my.cnf (Linux)

จากนั้น นำบรรทัดข้างล่าง ไปเทียบแล้ว เพิ่มเข้าไป

mySQL ของเรา เมื่อ restart service ก็จะสามารถอ่านภาษาไทยได้แล้ว ^ ^

---------------------------------------------
[mysqld]
skip-character-set-client-handshake
default-character-set=tis620
init_connect='SET collation_connection = tis620_thai_ci'
init_connect='SET NAMES tis620'
---------------------------------------------

หวังว่าคงจะทำได้กันนะครับ

Oct 15, 2008

SQL Command ค้นหาทุกตารางที่มีคอลัมภ์ ที่เราต้องการ #2

จากบทความเก่าที่เคยได้เขียนไว้ รู้สึกว่าจะยังไม่ครอบคลุมนัก

จึงเขียนบทความเพื่อเพิ่มเติมรายละเอียดเข้ามาอีกนิดหน่อย

ของเก่าดูได้ที่

"SQL Command ค้นหาทุกตารางที่มีคอลัมภ์ ที่เราต้องการ"

จากของเดิมนั้น คำสั่งจะถูกนำไปค้นยังทุกๆ คอลัมภ์ที่มีในระบบ

ซึ่งถ้าหากต้องการค้นเจาะจงตารางข้อมูลก็ให้ใช้คำสั่งลักษณะนี้

-------------------------------------------------------------------------
select table_schema,table_name from
information_schema.columns where
column_name = 'FundID' and table_schema = 'dbFund';
-------------------------------------------------------------------------

อ่านเพิ่มเติมได้ที่

http://www.revealnet.com/newsletter-v6/0905_A.htm

Oct 6, 2008

Problem ASP include dynamic URL (#2)

ช่วงหลังมีคนหลังเกี่ยวกับ ASP Classic เข้ามาขอนำมาตอบที่นี่ล่ะกันนะครับ

Problem ASP include dynamic URL คืองานเขียน ครั้งก่อนที่ผมได้เคยเขียนไว้นะครับ (นานมากล่ะ)

ตัดบางส่วนของจดหมายมาดังนี้
-------------------------------------
ผมไม่เข้าใจโค๊ดพวกนี้เลยครับ ซึ่ง php มันทำง่ายมากเลย แค่ include($valFile) ก็จบแล้วน่ะครับ เช่นที่ผมเคยเขียนใน asp น่ะครับ

   1:  if(!$_SESSION["s_user"] and $page!="index_home.php"){
   2:     echo"<script language='Javascript'>
   3:              alert('! ส่วนนี้ถูกปิดใช้งาน กรุณา Login ก่อนเข้าใช้งาน !')
   4:          </script>";
   5:     include("index_home.php");
   6:  }
   7:  else{ 
   8:     include($page); 
   9:  }     


มันก็เป็นหลักการที่ง่ายๆ ไม่ได้ติดคอมเม้นในภาษา html
-------------------------------------


ตามที่เขียนมานั้น เข้าใจดีครับว่า ติดปัญหาอะไร และถามคำถามได้ดีแล้วครับ
เข้าใจว่าต้องการ ให้เขียน แบบเหมือนที่ยกตัวอย่างของ PHP มาให้ดู ลองเทียบกันดูนะครับ

   1:  
   2:  dim filename
   3:  filename = "index_home.php"
   4:  
   5:  If Session("s_user") <> "" && filename <> "index_home.asp" Then
   6:  
   7:     response.write "<sc ript="" language="Javascript">
   8:        alert('! ส่วนนี้ถูกปิดใช้งาน กรุณา Login ก่อนเข้าใช้งาน !')"
   9:     <!--#include file="index_home.asp" -->
  10:  
  11:  Else
  12:  
  13:     dim strFile, fso, fsoFile
  14:     strFile = "upload/"& CStr(filename)
  15:  
  16:     If strFile <> "" Then
  17:  
  18:     set fso = createObject("Scripting.FileSystemObject")
  19:     set fsoFile = fso.openTextFile(Server.MapPath(strFile))
  20:     response.write "" & fsoFile.readAll &amp; ""
  21:     set fso = nothing
  22:     set fsoFile = nothing
  23:  
  24:     End if
  25:  
  26:  End if


เท่าที่เขียน ไปนี่ ยังไม่ค่อยจะมั่นใจ นะครับว่า ถูกหลักการไหม เพราะว่า ทิ้ง ASP Classic (VBscript) มาซักระยะแล้วครับ

Sep 3, 2008

SQL Command ค้นหาทุกตารางที่มีคอลัมภ์ ที่เราต้องการ

กรณีที่เรามีตารางในฐานข้อมูลจำนวนมาก
จะเป็นเืรื่องวุ่นวายแน่ๆ ถ้าหากมีการแก้ไขโครงสร้าง คอลัมภ์
ในตารางหลักที่เกี่ยวพันธ์ กับหลายๆ ตารางภายในฐานข้อมูล
จะให้ไปค้นดูโครงสร้างทีละ ตารางเลยก็คงไม่ใช่เรื่องดี
ุุ้้ถ้าติดปัญหานี้อยู่ ลองเอาโค๊ดข้างล่างไป query ดูนะครับ

-----------------------------------------------
select table_name from
information_schema.columns where
column_name = 'CustomerId'
-----------------------------------------------

ปล. CustomerId คือ คอลัมภ์ที่ต้องการค้นหาจากฐานข้อมูล
ดูเพิ่มเติมได้ที่
http://blog.sqlauthority.com/2008/08/05/sql-server-2005-get-field-name-and-type-of-database-table/

Aug 22, 2008

Set PHP with JasperReport (WIN32)

มาล่ะครับผม บทความร้อนๆ มาส่งแล้วจ้า

หลังจากลองทำดูเกือบสองอาทิตย์ และแล้วเหมือนฟ้าจะเป็นใจ

ด้วยความที่ว่าวันนี้ต้องปิดโปรเจกนี้ล่ะ และมันก็ได้ขึ้นมาซะงั้น

ลั้นล๊าาา ฮ่ะๆ มีความสุข เหอๆ


สิ่งที่คุณควรจะมีและติดตั้งไว้แล้ว มีดังนี้

ติดตั้งเจ้าตัว PHP และ JAVA Bridge จากบทความก่อนหน้านี้ซะก่อนนะ

และอย่าลืม ดูที่ไฟล์ php.ini นะครับ ในส่วนของด้านล่างนี้

-----------------------------------------------------
java.library.path="C:\php\ext\lib"
-----------------------------------------------------

ซึ่งจะเป็นที่เก็บ lib ของ iReport นะครับ

ที่สำคัญปิด Service ของ Apache ซะก่อนนะครับ


สร้างห้อง ชื่อว่า lib ใน PHP จะเป็นแบบนี้ C:\PHP\ext\lib

โหลด iReport-3.0.0.zip มาไว้ในเครื่อง และเอา lib ในนั้นทั้งหมด

วางไว้ในห้องที่พึ่งสร้างคือ C:\PHP\ext\lib


ใช้ iReport มาแล้วก็วาดๆๆ จนได้ไฟล์ .jrxml ขึ้้นมาซักไฟล์นะ

แล้วนำไปวางที่ www นะครับ


ตรวจสอบว่ามีไฟล์ mysql-connector-java-5.1.6-bin.jar

ในห้อง C:\PHP\lib\ext หรือยัง ถ้ายังก็โหลดมาไว้ เช่น

นำ mysql-connector-java-5.1.6-bin.jar

จาก mysql-connector-java-5.1.6.tar.gz

วางไว้ใน C:\PHP\ext\lib

(กรณีนี้คือติดต่อ กับ mySQL)


สร้างไฟล์ขึ้นมาเพื่อต่อฐานข้อมูล

ลองดูโค๊ดจาก class JdbcConnector ในลิงค์ด้านล่างนะครับ

http://charly-clairmont.developpez.com/tutoriels/php-jasper-reports/

แนะนำให้ comment code ในส่วนของ method main นะครับ

และส่วนของบรรทัดแรก comment code ที่เป็นการประกาศ package

จากนั้น compile code จะได้ JdbcConnector.class มาหนึ่งไฟล์

นำไปวางไว้ที่ C:\PHP\ext\lib


สร้างไฟล์ PHP ในหัวข้่อ "PHP jasper report Library" จากลิงค์
http://zeronine.org/lab/index.php/Using_Jasper_report_with_PHP

$java_locale->setDefault($java_locale->KOREAN); เปลี่ยนเป็น
$java_locale->setDefault($java_locale->ENGLISH);

สร้างไฟล์สำหรับทดสอบ ในหัวข้อ "Test loader" จากลิงค์เดียวกัน

define('REPORT_COMPILE', false); เปลี่ยนเป็น
define('REPORT_COMPILE', true);

$jasperLib = "C:\PHP\ext\lib"; ให้ระบุไปยังที่ๆ เรานำ lib iReport มาไว้
$reportPath = "C:\Appserv\www"; ให้ระบุไปยังที่ๆ เก็บไฟล์ .jrxml

เปลี่ยนรูปแบบการรับตัวแปร จาก

$_REQUEST['report'] เป็น $report
$_REQUEST['type'] เป็น $exportType

ทั้งนี้อย่าลืมใส่ค่าตัวแปรด้วย
อันนี้คงจะพอเข้าใจและประยุกต์กันได้
จึงไม่ขออธิบายนะครับ

Aug 18, 2008

PHP/JAVA Bridge step by step! (win32)

หลายๆ คน คงเคยคิดที่จะนำภาษาที่แตกต่างกัน

มาใช้ร่วมกันในงานของตนเองนะครับ

บทความนี้ จะนำเสนอ เกี่ยวกับขั้นตอนและวิธีการ

ในการทอดสะพานเชื่อมระหว่างภาษา PHP และภาษา JAVA

โดยในที่นี้ จะให้ SERVER เป็นภาษา PHP และรันไฟล์ที่เป็น *.jar

ของ JAVA ทั้งนี้ *.jar เป็น java package ที่ถูกสร้างขึ้น

โดยการรวมกันของ *.class หลายๆ ไฟล์มารวมกับในลักษณะของ

การบีบอัดไฟล์ ซึ่งสามารถเปิดดูด้วยโปรแกรมบีบอัดทั่วไป

เช่น winRAR หรือ winZip


สิ่งที่คุณต้องมี (โปรแกรมที่ผมลงแล้วสำเร็จ)

apache_1.3.33-win32-x86-no_src.exe

php-5.1.4-Win32.zip

mysql-5.0.22-win32

jdk-6u1-windows-i586-p.exe

อย่าลืมกำหนด Path ต่างๆ ให้ จาวาสามารถทำงานได้นะครับ

ตัวอย่างตามนี้

---------------------------------------------------------
CLASSPATH = .
JAVA_HOME = C:\Program Files\Java\jdk1.5.0_10
PATH = %PATH%;%JAVA_HOME%\bin
---------------------------------------------------------

ลงสี่โปรแกรมนี้ให้สามารถทำงานได้ก่อน แล้วจึงโหลด

windows-php-java-bridge_3.2.1_j2ee.zip

แล้วทำตามขั้นตอนดัีงนี้

นำไฟล์ JavaBridge.jar จาก

windows-php-java-bridge_3.2.1_j2ee.zip\WEB-INF\lib

วางไว้ที่ C:\PHP\ext

และนำไฟล์ java-x86-windows.dll จาก

windows-php-java-bridge_3.2.1_j2ee.zip\WEB-INF\cgi

ไปวางไว้ที่ C:\PHP\ext เช่นกัน แต่ให้ทำการเปลี่ยนชื่อ

ไฟล์ดังกล่าวเป็น php_java.dll

ขั้นตอนต่อไปนี้ ควรจะหยุดการทำงานของ Apache ไว้ก่อนนะครับ

แก้ไขไฟล์ php.ini ใน C:/php

ถ้ายังไม่มีก็เพิ่มเข้าไปตามตัวอย่างด้านล่าง

แต่ถ้ามีแล้วก็ให้แก้ไขให้เป็นค่าตามด้านล่างเช่นกัน
-------------------------------------------------------------
extension_dir = C:\php\ext
extension = php_java.dll
-------------------------------------------------------------

และในส่วนของ module setting ใน php.ini เพิ่มข้างล่างนี้เข้าไป

โดยปรับให้เหมาะสมกับเครื่องของคุณ นะครับ

------------------------------------------------------------------------------------
[java]
java.java_home = "C:\Program Files\Java\jdk1.6.0_01\bin"
java.java = "C:\Program Files\Java\jdk1.6.0_01\bin\javaw.exe"
java.class.path = "C:\php\ext\JavaBridge.jar"
;java.library="C:\Program Files\Java\jdk1.6.0_01\jre\bin\client\jvm.dll"
java.library.path="C:\php\ext\lib"
;java.hosts = "127.0.0.1:8080"
;java.servlet = on
java.log_level = 2
------------------------------------------------------------------------------------

สร้างไฟล์เพื่อทดลองการต่อจาวา ชื่อว่า java1.php () ภาษา PHP นะครับ
------------------------------------------------------------------------------------

// get instance of Java class java.lang.System in PHP
$system = new Java('java.lang.System');

// demonstrate property access
echo 'Java version=' . $system->getProperty('java.version') . '\n';
echo 'Java vendor=' . $system->getProperty('java.vendor') . '\n';
echo 'OS=' . $system->getProperty('os.name') . ' ' .
$system->getProperty('os.version') . ' on ' .
$system->getProperty('os.arch') . '\n';

// java.util.Date example
$formatter = new Java('java.text.SimpleDateFormat',
"EEEE, MMMM dd, yyyy 'at' h:mm:ss a zzzz");

echo $formatter->format(new Java('java.util.Date'));

----------------------------------------------------------------------------------

ทดลองรัน เพื่อแสดงผลลัพธ์ ถ้าทำตามที่กล่าวมาก็จะสามารถต่อได้

ข้อมูลเ้พิ่มเติม สืบค้นได้ที่

http://www.dsl.uow.edu.au/~sk33/php5java.htm

Aug 15, 2008

iReport opensource tools

หลายครั้งที่ผมติดปัญหาโดยที่สามารถค้นตามเว็บแล้วก็สามารถแก้ปัญหาได้

แต่ครั้งนี้มันต่างออกไป เนื่องจากความรู้และประสบการณ์พื้นฐานของผมยังน้อยนิดนัก

หลายอย่างที่เป็นปัญหาเหมือนเส้นผมบังภูเขา ก็พบเจออยู่บ่อยขึ้นเรื่อยๆ

ดังนั้น เมื่อผมอยู่ในสถานะของผู้เผยแผ่ความรู้ ผมจึงเขียนบทความเป็นเรื่องๆ

เพื่อให้ชัดเจน และง่ายต่อการติดตาม


เคยบอกกับน้องๆ หลายคนว่า

"การเขียนโปรแกรมเหมือนเกม จิ๊กซอ มันต้องค่อยๆ ประกอบกัน

จนเป็นงานที่สมบูรณ์ได้ในที่สุด ซึ่้งความรู้ก็เช่นกัน

เมื่อเรารู้ว่ามีความรู้อะไรใกล้เคียงกันบ้าง เราก็สามารถต่อกันติดได้ง่าย"



iReport เป็นส่วนหนึ่งของโครงการ opensource โดยเป็นเครื่องมือที่ช่วยจัดการรายงาน

ตัวโปรแกรม iReport นั้นพัฒนาบน Platform Java ซึ่งหากจะนำมาใช้ก็ต้องติดตั้ง Java

ความสามารถหลักๆ คือ

1. ออกแบบรูปแบบรายงานได้

2. ดึงข้อมูลจากฐานข้อมูลมาใช้ในรายงานได้

3. ทำกราฟ และคำนวณข้อมูลในรายงานได้

4. นำข้อมูลออกเป็นไฟล์ประเภทต่างๆ เช่น PDF, XLS ฯลฯ

5. ไฟล์ที่ถูกสร้างและใช้ออกแบบจะเป็นลักษณะเอกสาร XML มีนามสกุลว่า *.jrxml

6. เมื่อถูก Compile ข้อมูลที่ดึงมาและการออกแบบจะถูกเก็บลักษณะ *.jasper

7. อื่นๆ


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

http://www.cise.ufl.edu/~otopsaka/CIS4301/ReportDemo/PrepareAReport.html

ทดลองออกแบบ และ Download มาใช้ ที่ลิงค์

http://www.jaspersoft.com/ir_opensource_download.html

Aug 13, 2008

Tip edit plus for programmer

Edit plus เป็นเครื่องมือที่ โปรแกรมเมอร์หลายๆ คนใช้ในการเขียนโปรแกรม

ผมเองก็เช่นกันก็ชอบที่จะทำงานโดยที่ใช้เครื่องมืออย่าง Edit plus

เนื่องจาก เวลาเขียนโค๊ดนั้น จะมีการแบ่งสีสัน ที่ชัดเจน

ทำให้มองเห็นความแตกต่างของโค๊ดได้ง่าย

และเนื่องจากเป็นโปรแกรมที่มีขนาดเล็ก จึงสามารถย่อขยายหน้าต่างสลับไปมา

ระหว่างช่วงที่เรา ดูการออกแบบ (Design) และแก้โค๊ด (Coding)

ทั้งนี้ โปรแกรม Edit plus มีลักษณะคล้ายคลึงกับ Notepad ของ Microsoft Windows

แต่ความสามารถต่างกันลิบลับเลยทีเดียว


Edit plus สามารถทำงานได้หลายๆ ไฟล์พร้อมกัน โดยที่สามารถกำหนดได้ว่า

จะให้มีการ Backup File ไว้ ด้วยหรือไม่ มีความยืดหยุ่นเรื่องของการกำหนด

นามสกุลของไฟล์ (File Type) และกำหนดพื้นที่เก็บไฟล์ Backup ได้ด้วย


สำหรับวิธีการ Config Edit plus for java นั้นมีผู้เขียนไว้แล้วมากมาย

ฉะนั้นผมของนำลิงค์ที่น่าสนใจ มาวางไว้ให้ไป อ่านต่อกันเอาเองตามข้างล่างนี้

http://enum.exteen.com/20070614/editplus-to-compile-java

และวิธีการ Config Edit plus for C++ ก็ตามข้างล่างนี้เช่นกัน

http://www.thaicyberpoint.com/ford/blog/id/156/


ต่อมาก็จะเป็นการแนะนำ เทคนิค เล็กๆ น้อยๆ นะครับ

ตัว Edit plus เท่าที่ผมได้ทดลองใช้มา เกือบจะสี่ปีแล้ว

จึงได้เทคนิคหลายๆ อย่างเพิ่มเข้ามา ซึ่งมันเป็นความสามารถที่มีอยู่แล้ว

เพียงแต่ผู้คนส่วนใหญ่นั้นยังไม่ได้ลองเล่นดูเท่านั้นเอง


1. กำหนดให้ เมื่อ คลิกขวา view source code ที่ Internet Explorer

จะไปแก้ที่ Edit plus แทนที่จะเป็น Notepad

ให้ทำการ เปิด Edit plus เลือก Tools => Preferences

มองด้านซ้ายมือที่กล่อง Categories => General

มองด้านขวา ติ๊กถูกที่กล่องหน้าข้อความ Use Editplus in Internet Explorer

คลิก OK

2. ค้นคำได้อย่างรวดเร็วด้วยการกด คีย์ลัด F3 (ค้นคำเดิม) หรือ Alt+F3 (ค้นคำใหม่)

3. ตรวจสอบอักขระพิเศษได้ด้วยการใช้ คีย์ลัด Alt+Shift+1 และปิดก็กดซ้ำอีกครั้ง

4. ดูหมายเลขบรรทัด ใช้คีย์ลัด Ctrl+Shift+L

5. ดูขอบเขตวงเล็บและปีกกา (Scope) คลิกที่ View => Matching Brace

6. ดูแท็บและช่องว่างระหว่างข้อความ ใช้คีย์ลัด Alt+Shift+i

7. การตัดคำไม่ให้กว้างเกินหนึ่งหน้าจอ ใช้คีย์ลัด Ctrl+Shift+W

ลองนำเทคนิคเหล่านี้ไปใช้ดู แล้วจะรู้สึกได้เองว่าเขียนโปรแกรมได้เร็วขึ้นกว่าเดิมมาก...

Jan 6, 2008

เมื่ออยากใช้ MS SQL SERVER 2005

ใครบ้างที่ไม่รู้จัก Microsoft SQL SERVER 2005 อ่ะนั่นแน่
ก็คงต้องมีมั่งล่ะเนาะ ผมเองก็เคยเป็นคนไม่รู้จัก อีกเช่นกัน เพราะไปวิ่งเล่น
พัฒนาโดยอาศัยโปรแกรมพวก Open Source อยู่ซะส่วนใหญ่
แต่งานมันเลือกเครื่องมือนี่นา

ใช่ครับ งานแต่ล่ะอย่าง มันเลือกเครื่องมือ(Tools)
ซึ่งงานผมก็เช่นกัน จำเป็นอย่างยิ่งที่ต้องอาศัย ความสามารถของ MS SQL SERVER 2005
เพราะว่า ระบบของโปรเจกจบของผมนั้น ค่อนข้างใหญ่ (ก็ระบบจองและจัดสรร รถโดยสารเลยนี่นา)
อีกทั้งถ้าใช้โปรแกรมดังกล่าว จะทำให้สามารถจัดการวิเคราะห์ข้อมูลด้วย Analysis Service
บนระบบที่นอกเหนือจากระบบจัดการฐานข้อมูลเบื้องต้นด้วย อย่าลืมว่า
"ผมต้องทำการสะกัดข้อมูลด้วย Data Mining"
ดังนั้น นี่แหล่ะ ตัวช่วยผม

เริ่มไปไกลแล้ว
กลับมาเริ่มจากการทำความเข้าใจกับคำว่าฐานข้อมูล ก่อนดีกว่าเนาะ
สำหรับฐานข้อมูลนั้น มีความเป็นมาจากการเก็บเอกสารที่เป็น แฟ้มๆ อยู่ตามลิ้นชัก หรือตู้
ซึ่งเวลาจะใช้แต่ล่ะที วุ่นวายน่าดู มิหนำซ้ำยังเสี่ยงกับ เผ่าพันธุ์ปลวกอีกต่างหาก
เพราะงั้น มนุษย์คอมพิวเตอร์เลยสร้างพวก ระบบฐานข้อมูลบนคอมพิวเตอร์ขึ้นมาซะเลย
มันมีอยู่หลายโปรแกรมนะ เช่น mySQL, MS Access, MS SQL SERVER, Oracle เป็นต้น
ซึ่งชาวบ้านชาวช่อง ส่วนใหญ่เค้าจะยอมรับ Oracle กันนะจ๊ะ (แต่ไม่ค่อยได้ใช้กันซักเท่าไหร่ เพราะแพงมาก)
รวมๆ แล้ว พวกนี้ล้วนแล้วแต่เป็น Database Management System (DBMS) ทั้งสิ้น

ในเวลาทำงานนั้นส่วนของฐานข้อมูลจะแยกจากส่วนของโปรแกรม
ซึ่งมักจะเข้าถึงกันด้วย Connection String และ SQL Command
สำหรับ SQL Command นั้นไว้จะกล่าวถึงในโอกาสข้างหน้าล่ะกัน เดี๋ยวปนกันมั่วไปหมด

เอาล่ะ...
คราวนี้ จะกล่าวถึง MS SQL SERVER 2005 บ้างล่ะกัน
ในขั้นนี้จะกล่าวถึงแค่การลงโปรแกรมบนเครื่องนะครับ เพราะยังไม่ได้เล่นแบบ ลึกๆ เหมือนกัน

เขาว่ากันว่า...
-------------------------------------------------------
โดยปกติ SQL Server มีแบ่งเป็น 6 Edition นะครับคือ
1. Enterprise Edition
2. Developer Edition
3. Standard Edition
4. Workgroup Edition
5. Express Edition and Express with Advanced
6. Evaluation Edition

Window XP Home สามารถลง รุ่น 2) กับ 5) ได้
ถ้าเป็น Window XP Professional ลง 2-6 ได้ครับ

แต่ถ้าพูดถึง Enterprise ลงได้เฉพาะเครื่องที่เป็น Server เท่านั้น
รุ่นที่ครอบคลุมความสามารถของ MS SQL เกือบทั้งหมด แล้วลงบน XP ได้ก็จะเป็น Developer Edition ครับ Connection String ต่างกันนิดหน่อย ครับรายละเอียดตามลิงค์ไปเลยครับ

http://www.connectionstrings.com/?carrier=sqlserver2005
--------------------------------------------------------
ยกมาจาก ความเห็นของคุณ endless night แห่ง Pantip.Com
ที่ http://www.pantip.com/tech/developer/topic/DD2474387/DD2474387.html

ยกมาเพื่อจะบอกว่า ถ้าจะเลือกรุ่นไหนต้องเลือกและคิดดีๆ ไม่งั้นอาจจะเสียเวลา แล้ว งง ว่าทำไมลงไม่ได้(ว่ะ)
ซึ่งตอนนี้ผมเองใช้ตามที่เขาแนะนำคือ Developer Edition ซึ่งลองแล้วใช้ได้ค่อนข้างจะดีเลยทีเดียว

เมื่อได้โปรแกรมดังกล่าวมาแล้ว ให้ลงซะนะครับ ลงให้หมดเลยทั้ง Database และ Analysis (ถ้าต้องใช้)
แต่ที่ผมลงมันติดปัญหา คือไม่มีโปรแกรมบริหารจัดการคือ Microsoft SQL Server Management Studio Express
ไม่ต้องกังวลไปครับ ผมจัดหาลิงค์มาให้ท่านทั้งหลายแล้วโดย เข้าไปโหลดได้ที่นี่ครับ
http://www.microsoft.com/downloads/details.aspx?FamilyId=C243A5AE-4BD1-4E3D-94B8-5A0F62BF7796&displaylang=en

เอ้า ไหง... ลงไม่ได้อะเนี่ย
ออๆๆๆ เครื่องผมมันบอกว่ายังไม่ทันได้ลง MSXML6 มันคืออะไรหว่า
ได้เลย งี้ต้อง Google.com อีกแล้วครับท่าน
ค้นเจอแล้ว มันคือ Microsoft Core XML Services (MSXML) 6.0
ก็โหลดมาลง ณ บัดดล ตามลิงค์นะครับ
http://www.microsoft.com/downloads/details.aspx?familyid=993C0BCF-3BCF-4009-BE21-27E85E1857B1&displaylang=en

ได้แว้วววว อิอิ
หวังว่าจะทำกันได้นะครับ
ใครมั่วไม่ได้อย่างผม ก็ comment มาถามได้นะครับ
เดี๋ยวจะช่วย มั่วอีกแรง โฮ่ะๆ

Blog Comment

บทความที่ได้รับความนิยม