คลังเก็บผู้เขียน: pixelbar

Codeigniter Activerecord กับ MSSQL แล้ว Error

เริ่มเอา Codeigniter ที่เป็น PHP Framework มาใช้งาน เนื่องจาก Learning Curve ต่ำๆ ของมัน ทำให้พอถูๆไถๆ ไปกับเค้าได้ แต่ผมว่ามันไม่ค่อย Smooth กับ MSSQL เอาเสียเลย เพราะ แม้ว่า Version ล่าสุดจะออกมาแล้วก็ตามยังไม่สามารถแก้ปัญหา การใช้ ActiveRecord กับ MSSQL ในการ Select ข้อมูลได้เลย สำหรับคนที่ีมีปัญหาเหมือนกัน ผมไปค้นเจอที่ Forum เลยเอามา Post ไ้ว้ จากที่นี่

$this->obj->db->select($filed_result);
$this>obj>db>where($filed_get,$keyword);
$query = $this>obj->db->get($table_get);

ถ้า Select แบบนี้ละก็ Error อย่างไม่ทราบสาเหตุทันที ทั้งๆ ที่ Query ถูก ให้ไปแก้ไข database/drivers/mssql/mssql_driver.php บรรทัดที่ 461 จาก

$item = preg_replace('/(^'.$lbound.')([wd-_]+?)(s|)|$)/iS', '$1"$2"$3', $item);

เป็น

$item = preg_replace('/(^'.$lbound.')([wd-_]+?)(s|)|$)/iS', '$1$2$3', $item);

บรรทัดที่ 466 จาก

return ""{$item}"";

เป็น

return "{$item}";

ก็จะสามารถใช้งาน Activerecord ใน mssql ได้ครับ

อัพโหลด แล้วเจอ Error: Request object error ‘ASP 0104 : 80004005’ Operation not Allowed

Error: Request object error ‘ASP 0104 : 80004005’ Operation not Allowed

Error นี้ เกิดจาก การอัพโหลดไฟล์เกิน 200Kb ซึ่งเกิดจากการ Config ใน Metabase.xml ซึ่ง ถ้าจะแก้ไขให้ไปหาไหล์ Metabase.xml ใน folder C:WindowsSystem32Inetsrv ซึ่ง หา บรรทัดนี้

AspMaxRequestEntityAllowed

แล้วเพิ่มตัวเลขข้างหลังตามต้องการ

ข้อความนี้ถูกเขียนใน Programming และติดป้ายกำกับ บน โดย

ใช้ Pagination ใน Codeigniter กับ MSSQL

ใช้ Pagination ใน Codeigniter กับ ฐานข้อมูล Microsoft SQL (MSSQL)

คือผมได้มีโอกาศลองใช้ Codeigniter กับ การเขียน โปรแกรมเรียกดูข้อมูลง่ายๆ จาก MSSQL แต่ติดปัญหาเรื่องการแบ่งหน้าด้วย Pagination ลองค้นๆ ดูใน Forum เค้าให้ไปแก้ไฟล์

systemdatabasedriversmssqlmssql_driver.php

ตรงบรรทัด function _limit($sql, $limit, $offset) ให้เป็นแบบนี้

function _limit($sql, $limit, $offset)
{
// Horrible solucion =)
//$i = $limit + $offset;
//return preg_replace(‘/(^SELECT (DISTINCT)?)/i’,’\1 TOP ‘.$i.’ ‘, $sql);
$cursorName = ‘mi_cursor_’.md5(strtolower($sql));
$sql = “DECLARE “.$cursorName.” CURSOR DYNAMIC READ_ONLY FOR
“.$sql.”
OPEN “.$cursorName.”
DECLARE @CURSOR AS INT
SELECT @CURSOR = CURSOR_HANDLE FROM MASTER.DBO.SYSCURSORS
WHERE CURSOR_NAME = ‘”.$cursorName.”‘
EXEC SP_CURSORFETCH @CURSOR, 32, “.($offset+1).”, “.$limit.”
EXEC SP_CURSORCLOSE @CURSOR”;
return $sql;
}

ก็จะหายครับ

การเขียน QueryString อัตโนมัติ ด้วย ASP

การเขียน QueryString อัตโนมัติ ด้วย ASP

คงมีบางคนอยากสร้าง QueryString แบบอัตโนมัิติบ้าง เพราะไม่เช่นนั้นต้องมาดูตัวแปลตั้งหมดแล้วเขียนเขียนมาเองทั้งหมดผมว่ามันลำบากเกินไป อันนี้เป็น Function ที่สำหรับสร้าง QueryString แบบ อัตโนมัติ โดยส่งเพียงค่า Parameter สำหรับชื่อตัวแปลที่ไม่ต้องการให้ทำการสร้าง QueryString ใน Function (กรณีเช่น การส่งหน้า ซึ่งจะส่งค่าเปลี่ยนไปทุกๆ หน้าไม่ Fix ตายตัว)

function makeQueryString(var_dynparam)
if request.ServerVariables("REQUEST_METHOD") = "POST" then
for each variable_name in request.form
variablevalue=request.form(variable_name)
if variable_name <> var_dynparam then
a =  a&"&"&variable_name &"="&variable_value
end if
next
else
for each variable_name in request.querystring
variablevalue=request.querystring(variable_name)
if variable_name <> var_dynparam then
a =  a&"&"&variable_name &"="&variable_value
end if
next
end if
makeQueryString = a
end function

วิธีเรียกใช้

อ่านเพิ่มเติม →

ข้อความนี้ถูกเขียนใน Programming และติดป้ายกำกับ บน โดย

MSSQL Dateformat การจัดรูปแบบการแสดงผลวันที่ใน MSSQL

คราวที่แล้วเขียน SP สร้าง ตารางวันที่ แต่ไอ้ตอนที่แปลง Format มันแปลง ดุ้นๆ ไปไม่ค่อยเวิ๊ก อันนี้เป็นการจัด Format Datetime อย่างเป็นทางการ

อันนี้เป็น format นี้ 05-04-2008

SELECT CONVERT(varchar(10), getdate()+1, 105)

อันนี้เป็น format นี้ 05/04/2008

SELECT CONVERT(varchar(10), getdate()+1, 103)

ปล. ที่ต้อง +1 ให้กับ getdate() ก็เพราะว่า มันเป็นวันที่ 4 เดือน 4 เดี๋ยวจะงง

ข้อความนี้ถูกเขียนใน Database และติดป้ายกำกับ บน โดย

การเอา Textfile เข้า Temptable ด้วย MSSQL

การเอา Textfile เข้า ฐานข้อมูล MSSQL จริงๆ ไม่ต้องใช้ Temptable ก็ได้ ถ้าใช้บ่อย สร้างเป็นถาวรก็น่าจะใช้งานได้ง่ายกว่า แต่สำหรับผมเองผมว่าเอาเข้า Temptable ไว้ก่อน แล้วค่อยเอามาใช้จริงๆ แต่สำหรับการเขียน Webที่ Connection เปิดหนึ่งครั้ง ปิดหนึ่งครั้ง Temptable ก็หายไปบางครั้งก็คงไม่เหมาะ

ขั้นแรกก็สร้าง Temptable ซะก่อน ด้วยคำสั่ง Create table ธรรมดานี่แหละครับ เพียงแต่ใส่ # ไว้ข้างหน้าเพื่อบอกว่าเป็น Temptable

CREATE TABLE #tempdata (
id varchar(4),
usr VARCHAR(100),
pwd VARCHAR(100)
)

อ่านเพิ่มเติม →

ข้อความนี้ถูกเขียนใน Database และติดป้ายกำกับ บน โดย

เขียน MSSQL store procedure เพื่อทำ Crosstab หรือ Pivot Table

เขียน MSSQL store procedure เพื่อทำ Crosstab หรือ Pivot Table

วันก่อน มีโอกาสต้องเขียน การแสดงผลข้อมูลเป็นแบบ แนวนอน หรือที่เค้าเรียกกันว่า Crosstab แต่เนื่องด้วย ฐานข้อมูลที่ใช้ มันเป็น MSSQL 2000 มันไม่มีพวก Pivot Table มาให้ (Access ยังมีเลย) เลยต้องหาเอาเอง ไปเจอเว็บนึงเค้า เขียนเป็น Store Procedure ไว้ เอามาใช้ Work เลยทีเดียว ตอบโจทย์ได้เลย

ตัวอย่างของ Data

Year Region Income
Y2007 North 20
Y2007 South 10
Y2007 East 30
Y2006 North 10

Y2006 South 10

Y2006 East 10

เมื่อทำ Crosstab แล้วจะได้แบบนี้
ํ
Year North South East
Y2006 10 10 10
Y2007 20 10 30

อ้าวแล้วทำยังไงให้ได้แบบนี้ล่ะ มาดูวิธีการกันเลยครับ

อ่านเพิ่มเติม →

ข้อความนี้ถูกเขียนใน Database และติดป้ายกำกับ บน โดย

การสร้างฐานข้อมูลวันที่ใน Table ด้วย MSSQL

วันนี้มีความต้องการสร้างฐานข้อมูลวันที่ในตารางของ MSSQL แต่ให้ไปนั่ง Key เอาหรือไป Copy เอาคงไม่ไหว เลยเขียน Script เอาไว้สร้างวันที่เอาไว้เผื่อใครเอาไปใช้ครับ

declare @i int
declare  @CAL_DATE datetime
SET @i=0
while (@i < 1825)
begin
	-- เอาวันพรุ่งนี้เข้า
	set @CAL_DATE = (select replace(CONVERT(varchar(11), GETDATE()+@i, 111),'/','-'))
	insert into MS_CALENDAR (CAL_DATE) values (@CAL_DATE)
	-- เอาวันพรุ่งนี้เข้า
	-- เอาเมื่อวานเข้า
	set @CAL_DATE = (select replace(CONVERT(varchar(11), GETDATE()-@i, 111),'/','-'))
	insert into MS_CALENDAR (CAL_DATE) values (@CAL_DATE)
	-- เอาเมื่อวานเข้า
	SET @i=@i+1
end
ข้อความนี้ถูกเขียนใน Database และติดป้ายกำกับ บน โดย

ไปเที่ยวชะอำกับเพื่อนๆที่ ซิงเกอร์

งานนี้ผมแทบไม่รู้ว่าไปไหนกัน คือใบมาบอกว่าไปเที่ยว ผมลงชื่อทันที เพราะว่าพี่ชาญ กะ พี่ใบ้ ถือเป็นรุ่นใหญ่เป็นพิเศษ ไม่ว่าที่ไหนผมก็ไปคัพ (ตอนแรกนึกว่าไปบางสะพานเหมือนที่พี่เค้าเคยเล่าไว้) งานนี้ที่อิ่มคงเป็นรถไป เพราะนั่งไปกลับร่วม 12 ชั่วโมง คงกลัวรถไฟไปอีกนานทีเดียว

งานนี้เก็บภาพที่ชอบได้หลายภาพ

0hm.jpg

ภาพถ่ายบนรถไฟขาไป ไอ้ที่สบตากล้องอยู่คนเดียวคือน้องอาร์ท ฝ่าย IT

อ่านเพิ่มเติม →

เพลง คิดถึง Single ล่าสุดจาก Ewery

เพลง คิดถึง Single ล่าสุดจาก Ewery เพลงรักเหงาๆ ที่ได้ จ๊อยซ์ LadyMafia มาคอรัสให้นิดหน่อย (ร้องสี่คำ)

เนื้อเพลง

เหม่อมองฟ้าคืนนี้ช่างดูเงียบเหงา อาจเพียงสายลมช่วยพัดมาค่อยปลอบใจ
ค่ำคืนนี้อยากรู้เธออยู่ที่ไหน ฉันคิดถึงเธอ…
มองดูแสงดาว แทนนัยน์ตาคู่นั้น อาจเพียงฝันไปที่ฉันเคยได้รักเธอ
ช่างดูเนิ่นนานที่ไม่ได้พบเจอ ฉันคิดถึงเธอ…
ให้ความรักพาใจฉันไป… กอดเธอไว้… (ฉันคิดถึงเธอ)
เธอที่พัดพาใจฉันไป… บอกเธอไว้… ว่าฉันคิดถึงเธอเหลือเกิน
อยากให้เธอคืนมา อยากย้อนเวลา ให้ทุกอย่าง เนิ่นนาน
เพื่อเก็บความทรง ความฝันเลือนลาง ที่ฉันเคยมีเธอ อยู่ตรงนี้…

เป็นเพลงที่ผมรอฟัง (หลังจากได้ฟัง version เต็มๆ ที่ไม่ใช่ Demo ที่วัทเปิดให้ฟัง) มานาน อยากฟังมากเพราะว่ามันเป็นเพลงที่บรรยายความรู้สึกคิดถึงได้เข้าถึงคนคิดจริงๆ