วันนี้พยายามกลับมาเขียนเว็บต่อในส่วนของ Poll
ซึ่งเป็นระบบ Management Poll
โดยจะมีทั้งการ Insert, Delete, Update, Active
คุณสมบัติเด่นๆ ก็คือจะเลือกแสดง Poll ได้หลายๆ Poll พร้อมกัน
และมีการลงคะแนนได้หนึ่ง Username ต่อ Poll
ความต้องการของลูกค้ามีประมาณนี้
ผมก็เร่งทำจนเรียบร้อยแต่ติดปัญหาอยู่นานกับ ERROR แบบหนึ่ง
นั่นคือ TYPE MISMATCH ซึ่งสงสัยว่าทำไมจึงติด ERROR ได้
ลองเข้าไป ค้นหาใน www.google.com ด้วย Firefox ทันใด
ก็พบหลายเว็บน่าสนใจ แต่ที่จะเอามาคุยตรงนี้ก็คือ เว็บที่มี URL ว่า
http://www.codingforums.com/showthread.php?t=26385
ในนี้เขาบอกวิธีแก้ไขปัญหาเอาไว้ น่าสนใจดี คือการใช้ VarType() Function
มาเป็นตัวหาชนิดข้อมูลเพื่อจะได้ระบุและให้ส่งข้อมูลเข้ากันและผ่าน ERROR นี้ไปได้
ซึ่งชนิดข้อมูลที่จะมีการคืนค่าเมื่อใช้ฟังก์ชันจะมีดังนี้
0 Uninitialized
1 Contains no valid data
2 Integer subtype
3 Long subtype
4 Single subtype
5 Double subtype
6 Currency subtype
7 Date subtype
8 String subtype
9 Object
10 Error subtype
11 Boolean subtype
12 Variant (only use for arrays of variants)
13 Data access object
14 Decimal subtype
17 Byte subtype
8192 Array
ซึ่งปัญหา ERROR
Microsoft VBScript runtime (0x800A000D)
Type mismatch
ก็จะสามารถแก้ได้ ด้วยประการนี้แหล่ะ หุหุ
ซึ่งสำหรับงานผม บังเอิญตั้งค่าในฐานข้อมูลเป็น decimal
ด้วยความที่เข้าใจว่าเป็นชนิด ตัวเลข จึงคิดว่าน่าจะเข้ากันได้กับ integer
ผมจึงต้องใช้ Function CInt เพื่อครอบข้อมูลที่เป็นชนิด Decimal
ให้สามารถเข้ากันได้ สุดท้ายจึงใช้ได้ อิอิ
สำหรับใครที่มีข้อมูลรายละเอียด ชนิดข้อมูลของ MS SQL SERVER 2000
แบบละเอียดๆ ช่วยส่งลิงค์มาให้ด้วยนะครับจะขอบคุณมากเลย
ได้ความรู้เพิ่มอีกล่ะ เข้าใจ MS SQL SERVER 2000 และ ASP เข้าไปอีกเปาะ
บอกตัวเองอีกครั้งว่าสู้ๆ "งานจะปิดเต็มทีแล้ว"
เอ้อ เกือบลืมบอก พอดีมีน้องสาวคนสวย
แนะนำ Website ของสาขาวิทยาการคอม
ของนอร์ทกรุงเทพ นี่แหล่ะ พึ่งเปิดได้เดือนกว่าๆ เองมั้ง
ใครสนใจ ก็เข้าไปแวะชมกันได้ ที่ http://www.c2speed.com/
เท่าที่ดู ก็น่าสนใจดี คงต้องปรับไปเรื่อย
นับเป็นก้าวที่ดี พยายามกันเข้าล่ะ น้องๆ ปีสาม ^ ^ พี่โต คอยเชียร์ โฮ่ะๆ
Sep 26, 2007
Sep 21, 2007
Problem ASP include dynamic URL
กลับมาแล้วครับกับ วิชาการๆ เนื่องจากในช่วงเวลา ประมาณ เกือบๆ เดือน ผมได้มีโปรเจกเข้ามา
เป็นงานของบริษัท แถวๆ เมืองทองธานี งานที่ว่าก็เป็นงานเว็บไซด์เช่นเคยครับ แต่เป็นภาษา ASP
ใช้ฐานข้อมูลของ MS SQL SERVER 2000 ภาษา ASP เป็นภาษาที่ผมค่อนข้างจะไม่ค่อย
ได้ใช้เวลากับมันซักที ทำให้ไม่ค่อยเชี่ยวชาญ และติดๆ ขัดๆ อยู่เยอะเหมือนกัน
เท่าที่จำได้คือเสียตังค์เข้าอบรม ASP เบื้องต้นที่ทางสถาบันจัดขึ้น เนื่องจากเป็นนักศึกษา
ค่าใช้จ่ายเลยไม่มากเท่าไหร่ ช่วงนั้นก็ประมาณ ปี 48 ได้ ตอนนี้ 50 ล่ะลืมหมดเกลี้ยงเลย เหอะๆ
อบรมครั้งนั้น มีทั้งหมดสองวัน เรื่องที่ลึกที่สุดถึงเพียงแค่การต่อเชื่อมกับ ฐานข้อมูล MS Access 97
ผิดหวังหน่อยๆ แต่ก็ถือเป็นประสบการณ์ที่ดี เพราะตอนนั้นไม่ได้จับภาษาใดเลย (เขียนเว็บยังไม่เป็น)
และในครั้งนี้ ผมต้องมานั่งอ่านศึกษา ตำราต่างๆ เพื่อรื้อฟื้น ASP
จะว่าเป็น ASP.NET ก็อยากใช้นะ แต่ไม่มั่นใจ SERVER ว่ารองรับหรือเปล่า
เลยต้อง ใช้ ASP ธรรมดาเพื่อความปลอดภัยไปก่อน ยากเหมือนกันนะเนี่ย
ผมใช้เวลา ประมาณ สองสัปดาห์ กว่าจะเรียบเรียงข้อมูลต่างๆ เกี่ยวกับ ASP ได้
แต่ที่ได้เร็วก็เพราะใช้วิธีการเทียบเคียงกับภาษาอื่นๆ เช่น PHP หรือ JSP
ผมรู้สึกแย่เหมือนกัน ที่ปกติเขียนโปรแกรม เชิงวัตถุ แต่กลับต้องมานั่งเขียนเป็น โปรแกรมแบบโครงสร้าง
ทำให้งานผมช้ากว่า ภาษาที่กล่าวมาทั้งหมด แต่ก็พยายามทำความเข้าใจ จนเขียนได้คล่องในเวลาต่อมา
แต่ก็ยังติดปัญหา เมื่อมันเกิดความผิดพลาด เพราะดูเหมือนว่ารายละเอียดที่มันแจ้งมาเยอะแยะ
ส่วนใหญ่แล้วไม่ได้ช่วยอะไรขึ้นเลย... เหอะๆ แย่จัง
คราวนี้ ก็จะยกปัญหาอีกปัญหา ที่ไม่น่าจะเกิดขึ้นได้เลย
เพราะมันน่าจะเป็นวิธีการง่ายๆ ที่ไม่น่าที่จะเกิดการไม่รองรับของสคริป
ซึ่งก็คือการ include file แบบ dynamic
ก็หมายถึงว่า การใช้ ตัวแปรเป็นตัวอ้างอิงไปยัง URL แทน
ตัวอย่างคือ
(จากตัวอย่างต้องมีเครื่องหมาย "!" แต่แทนด้วย @ และ "%" แทนด้วย "+"
แต่ใส่ตรงๆไม่ได้เพราะจะกลายเป็น comment )
<@--#include file="tabNews.asp" -->
นี่คือแบบที่เป็นการ กำหนดแบบบังคับโดยให้ Include file ที่ชื่อ page.asp เพียงอย่างเดียว
<@--#include file="<+=urlLink+>" -->
นี่คือแบบที่ไม่สามารถจะทำงานได้ เนื่องจาก หาก ASP เจอเครื่องหมาย # ก็จะเข้าใจว่าเป็น comment ทันที
จึงไม่แสดงผล ซึ่งผมเอง งง อยู่นาน ว่าทำไมมันถึงผิดพลาด จึงไปค้นหลายๆ เว็บ
แล้วก็เจอวิธีแก้ไข โดยใช้ วิธีการอื่นแทน ดังนี้
dim strFile, fso, fsoFile
strFile = "upload/"& CStr(filename)
If strFile <> "" then
set fso = createObject("Scripting.FileSystemObject")
set fsoFile = fso.openTextFile(Server.MapPath(strFile))
response.write "" & fsoFile.readAll & ""
set fso = nothing
set fsoFile = nothing
end if
ซึ่งเป็นการแก้ไขด้วยการดึงข้อความจากลิงค์ที่กำหนดมาจนครบ แล้วถึงจะแสดงผล
เป็นวิธีการพื้นๆ แต่ก็ใช้ได้จริง ซึ่งถ้าใครมีวิธีการที่ดีกว่านี้ ก็ช่วยแนะนำด้วยนะครับ
จะขอบคุณมากๆ เลย ที่มานะครับอยู่ที่เว็บ
http://www.developerfusion.co.uk/show/234/
สำหรับวิธีการเขียนต่างๆ ของ ASP ถ้าว่างๆ ก็จะมาเขียนลงที่นี่แหล่ะครับ
แต่สงสัยว่าจะเป็น ASP.NET แล้วล่ะคราวนี้ เพราะโปรเจกจบต้องทำ
ยังไงก็แนะนำเพิ่มเติมได้นะครับ ผมยินดีรับฟังความคิดเห็น "ที่สร้างสรรค์" จากผู้อ่านทุกท่านนะครับ
เป็นงานของบริษัท แถวๆ เมืองทองธานี งานที่ว่าก็เป็นงานเว็บไซด์เช่นเคยครับ แต่เป็นภาษา ASP
ใช้ฐานข้อมูลของ MS SQL SERVER 2000 ภาษา ASP เป็นภาษาที่ผมค่อนข้างจะไม่ค่อย
ได้ใช้เวลากับมันซักที ทำให้ไม่ค่อยเชี่ยวชาญ และติดๆ ขัดๆ อยู่เยอะเหมือนกัน
เท่าที่จำได้คือเสียตังค์เข้าอบรม ASP เบื้องต้นที่ทางสถาบันจัดขึ้น เนื่องจากเป็นนักศึกษา
ค่าใช้จ่ายเลยไม่มากเท่าไหร่ ช่วงนั้นก็ประมาณ ปี 48 ได้ ตอนนี้ 50 ล่ะลืมหมดเกลี้ยงเลย เหอะๆ
อบรมครั้งนั้น มีทั้งหมดสองวัน เรื่องที่ลึกที่สุดถึงเพียงแค่การต่อเชื่อมกับ ฐานข้อมูล MS Access 97
ผิดหวังหน่อยๆ แต่ก็ถือเป็นประสบการณ์ที่ดี เพราะตอนนั้นไม่ได้จับภาษาใดเลย (เขียนเว็บยังไม่เป็น)
และในครั้งนี้ ผมต้องมานั่งอ่านศึกษา ตำราต่างๆ เพื่อรื้อฟื้น ASP
จะว่าเป็น ASP.NET ก็อยากใช้นะ แต่ไม่มั่นใจ SERVER ว่ารองรับหรือเปล่า
เลยต้อง ใช้ ASP ธรรมดาเพื่อความปลอดภัยไปก่อน ยากเหมือนกันนะเนี่ย
ผมใช้เวลา ประมาณ สองสัปดาห์ กว่าจะเรียบเรียงข้อมูลต่างๆ เกี่ยวกับ ASP ได้
แต่ที่ได้เร็วก็เพราะใช้วิธีการเทียบเคียงกับภาษาอื่นๆ เช่น PHP หรือ JSP
ผมรู้สึกแย่เหมือนกัน ที่ปกติเขียนโปรแกรม เชิงวัตถุ แต่กลับต้องมานั่งเขียนเป็น โปรแกรมแบบโครงสร้าง
ทำให้งานผมช้ากว่า ภาษาที่กล่าวมาทั้งหมด แต่ก็พยายามทำความเข้าใจ จนเขียนได้คล่องในเวลาต่อมา
แต่ก็ยังติดปัญหา เมื่อมันเกิดความผิดพลาด เพราะดูเหมือนว่ารายละเอียดที่มันแจ้งมาเยอะแยะ
ส่วนใหญ่แล้วไม่ได้ช่วยอะไรขึ้นเลย... เหอะๆ แย่จัง
คราวนี้ ก็จะยกปัญหาอีกปัญหา ที่ไม่น่าจะเกิดขึ้นได้เลย
เพราะมันน่าจะเป็นวิธีการง่ายๆ ที่ไม่น่าที่จะเกิดการไม่รองรับของสคริป
ซึ่งก็คือการ include file แบบ dynamic
ก็หมายถึงว่า การใช้ ตัวแปรเป็นตัวอ้างอิงไปยัง URL แทน
ตัวอย่างคือ
(จากตัวอย่างต้องมีเครื่องหมาย "!" แต่แทนด้วย @ และ "%" แทนด้วย "+"
แต่ใส่ตรงๆไม่ได้เพราะจะกลายเป็น comment )
<@--#include file="tabNews.asp" -->
นี่คือแบบที่เป็นการ กำหนดแบบบังคับโดยให้ Include file ที่ชื่อ page.asp เพียงอย่างเดียว
<@--#include file="<+=urlLink+>" -->
นี่คือแบบที่ไม่สามารถจะทำงานได้ เนื่องจาก หาก ASP เจอเครื่องหมาย # ก็จะเข้าใจว่าเป็น comment ทันที
จึงไม่แสดงผล ซึ่งผมเอง งง อยู่นาน ว่าทำไมมันถึงผิดพลาด จึงไปค้นหลายๆ เว็บ
แล้วก็เจอวิธีแก้ไข โดยใช้ วิธีการอื่นแทน ดังนี้
dim strFile, fso, fsoFile
strFile = "upload/"& CStr(filename)
If strFile <> "" then
set fso = createObject("Scripting.FileSystemObject")
set fsoFile = fso.openTextFile(Server.MapPath(strFile))
response.write "" & fsoFile.readAll & ""
set fso = nothing
set fsoFile = nothing
end if
ซึ่งเป็นการแก้ไขด้วยการดึงข้อความจากลิงค์ที่กำหนดมาจนครบ แล้วถึงจะแสดงผล
เป็นวิธีการพื้นๆ แต่ก็ใช้ได้จริง ซึ่งถ้าใครมีวิธีการที่ดีกว่านี้ ก็ช่วยแนะนำด้วยนะครับ
จะขอบคุณมากๆ เลย ที่มานะครับอยู่ที่เว็บ
http://www.developerfusion.co.uk/show/234/
สำหรับวิธีการเขียนต่างๆ ของ ASP ถ้าว่างๆ ก็จะมาเขียนลงที่นี่แหล่ะครับ
แต่สงสัยว่าจะเป็น ASP.NET แล้วล่ะคราวนี้ เพราะโปรเจกจบต้องทำ
ยังไงก็แนะนำเพิ่มเติมได้นะครับ ผมยินดีรับฟังความคิดเห็น "ที่สร้างสรรค์" จากผู้อ่านทุกท่านนะครับ
Subscribe to:
Posts (Atom)
Blog Comment
บทความที่ได้รับความนิยม
-
ราวสองปีก่อนผมและเพื่อนมีโอกาสเช่ารถมอเตอร์ไซค์เที่ยวที่อยุธยา ช่วงนั้นทุกอย่างยังดูดีและยังไม่เกิดเหตุการณ์น้ำท่วม ซึ่งถ้าต้องการดูก็หาจา...
-
เนื่องจากมีการคำนวณบางอย่างที่มีทศนิยมหลายตำแหน่ง ซึ่งการทำงานรายงาน หรือทำเว็บหรือโปรแกรมที่เกี่ยวข้องนั้น จำเป็นต้องศึกษา เรื่องของข้อมูลท...
-
วิธีการในเบื้องต้น ต้องทราบก่อนนะครับว่าระบบเราเป็นอย่างไร ของผมนั้น เป็น Huawei SmartAX MT880 จาก TT&T อยากให้กำหนดไว้ตามนี้นะครับ จากร...
-
งานว่าง ว่างงาน ได้เวลาของการ อัพเดต Blog ทริป เชียงคาน เกิดขึ้นไม่ได้เกี่ยวกับการตามหา นาธาน แต่อย่างใด แต่เกิดจากกระแส เสียงลือ เสียงเล่าอ...
-
ปัญหาที่ผมพบคือ Lenovo U460 ที่ผมพึ่งซื้อมาและลง Win7 มีอาการลดความสว่างของหน้าจอลงเอง ทำเอาผมรำคาญมาก คิดว่าหลายคนก็คงเคยพบปัญหานี้ ปัญหานี...
-
ก่อนจะไปยังส่วนอื่น ขอแนะนำสำหรับมือใหม่ที่ยังไม่รู้จัก Thunderbird Thunderbird เป็นโปรแกรมที่ใช้งานเกี่ยวกับการรับ E-mail ที่อยู่ใน Mail Se...
-
โดยปกติ ถ้าเราต้องการติดตั้งให้ มี Server ที่สามารถใช้รันภาษา PHP บนเครื่องได้ โดยทั่วไปนั้น สามารถใช้ Appserv ซึ่งเป็นโปรแกรมสำเร็จรูป เมื่...
-
เป็นครั้งแรกสำหรับผมที่จะมาเล่าประสบการณ์การท่องเที่ยว ในมุมมองของตัวเอง มีอะไรอยากแนะนำก็ได้เช่นเคย comment กันได้ที่ด้านล่าง ทริป เกาะช...
-
ทริปนี้ ออกเดินทางเมื่อ 2012/09/08 โดยรถส่วนตัว มีเพื่อนร่วมทริป ราวๆ แปดคนได้ เราออกเดินทางกันจริงๆ ราวๆ 10.00 AM บึ่งไปเรื่อยๆ ราวๆ สี...
-
ใครบ้างที่ไม่รู้จัก Microsoft SQL SERVER 2005 อ่ะนั่นแน่ ก็คงต้องมีมั่งล่ะเนาะ ผมเองก็เคยเป็นคนไม่รู้จัก อีกเช่นกัน เพราะไปวิ่งเล่น พัฒนาโดย...