Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 107,160

HOME > ASP > ASP Forum > ช่วยดูโค้ดลูป insert ลง Database ให้หน่อยค่ะ Microsoft OLE DB Provider for SQL Server error '80040e57' String or binary data would be truncated


 

ช่วยดูโค้ดลูป insert ลง Database ให้หน่อยค่ะ Microsoft OLE DB Provider for SQL Server error '80040e57' String or binary data would be truncated

 



Topic : 038635



โพสกระทู้ ( 41 )
บทความ ( 0 )



สถานะออฟไลน์




Code (ASP)
"""""""โค้ดหน้า Preview""""""""""
<input type="hidden" name="sroom"   Value="<%=Request.Form("s_room")%>">
<%
fac = 1
For Each sRoom in Request.Form("s_room") 

		Set ObjRS_room = Server.CreateObject("ADODB.Recordset")
		rSql = "select * from MASTER_ROOM where room_id= '" & sRoom & "'"
		ObjRS_room.Open rSql, ObjConn, 3, 1

		If ObjRS_room("room_fac")<>fac then
		Response.Write "&nbsp;" & ObjRS_room("room_fac") & "&nbsp;:&nbsp;ห้อง&nbsp;" & ObjRS_room("room_name") 
		Else
		Response.Write  "&nbsp;,&nbsp;" & ObjRS_room("room_name") 
		End if
		fac = ObjRS_room("room_fac")
Next
%>




"""""""โค้ดหน้า Insert to DB """"""""""

Code (ASP)
For Each Room in Request.Form("sRoom") 
Response.write ("เช็คค่าในลูป" &Room)
    rSql = ""
   rSql = rSql & "Insert into ORDER_ROOM "
	rSql = rSql & "Values (  '" & sReserveId& "' "
   rSql = rSql & "        , '" & Room & "' "
   rSql = rSql & "        , getdate() "
   rSql = rSql & "        , 'TEST' ) "

  ObjConn.execute rSql 
Next



"""""""ผลลัพธ์ตอนกดปุ่ม SAVE เพื่อบันทึกลงฐานข้อมูล""""""""""

Code
เลขที่ใบจอง201002073
เช็คค่าในลูป008, 009, 010, 011

Microsoft OLE DB Provider for SQL Server error '80040e57'

String or binary data would be truncated.


ตามรายละเอียดด้านบนนะคะ ตอนแรกที่ยังไม่ได้ทำหน้า preview มันก็สามารถ insert ลง DB ได้นะ
แต่พอเพิ่มหน้า preview เพื่อโชว์ข้อมูลก่อน แล้วค่อยบันทึก ปรากฎว่ามัน Error น่ะค่ะ
แต่ลอง response ค่าออกมา มันก็วนลูปแสดงค่าในตัวแปรได้อยู่นะคะ แต่มันวนลูป insert ไม่ได้
เป็นเพราะอะไรคะ..



Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-02-09 16:05:36 By : newjam View : 2841 Reply : 39
 

 

No. 1



โพสกระทู้ ( 3,144 )
บทความ ( 1 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


ยังไม่ต้อง insert

Response.Write rSql ออกมาดูหน่อยครับ อยากดู






Date : 2010-02-09 17:57:47 By : tungman
 


 

No. 2



โพสกระทู้ ( 41 )
บทความ ( 0 )



สถานะออฟไลน์


ก่อน insert ลอง response ออกมาแล้วนะคะ

บรรทัดนี้ค่ะ Response.write ("เช็คค่าในลูป" &Room)


ส่วนผลที่ได้ ก็บรรทัดนี้ค่ะ

เช็คค่าในลูป008, 009, 010, 011
Date : 2010-02-10 08:07:17 By : newjam
 

 

No. 3



โพสกระทู้ ( 3,144 )
บทความ ( 1 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


ช่วย write ทั้ง command ได้ไหม ผมอยากดู
Date : 2010-02-10 09:04:55 By : tungman
 


 

No. 4



โพสกระทู้ ( 41 )
บทความ ( 0 )



สถานะออฟไลน์


Insert into RESERVATION Values ( '201002159' , getdate() , '201002' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , NULL , getdate() , NULL )


ไม่รู้ว่าจะใช่ที่พี่ถามรึป่าวนะคะ
Date : 2010-02-10 10:02:57 By : newjam
 


 

No. 5



โพสกระทู้ ( 3,144 )
บทความ ( 1 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


อ้าวมันไม่ใช่ตัวเดียวกับนี่เหรอ

Code (ASP)
rSql = rSql & "Insert into ORDER_ROOM "
rSql = rSql & "Values ( '" & sReserveId& "' "
rSql = rSql & " , '" & Room & "' "
rSql = rSql & " , getdate() "
rSql = rSql & " , 'TEST' ) "


เข้าใจว่าเขียนแบบย่อ แต่การเขียนคำสั่งแบบเต็มมันจะง่ายในการตรวจและแก้ไขนะ

ตัวอย่างการเขียน inser command
Insert Into [MyTable] ([MyField1], [MyField2], [MyField3]) Values (1, 'Name', 'SurName')


ส่วน Microsoft OLE DB Provider for SQL Server error '80040e57'

String or binary data would be truncated.


เกิดจากการไม่ได้ใช้ single quote กับค่าที่เป็น string
Date : 2010-02-10 10:26:05 By : tungman
 


 

No. 6

Guest


Insert into RESERVE_ROOM Values ( '201002216' , '007, 008' , getdate() , 'TEST' ) sql --Insert into RESERVE_ROOM Values ( '201002216' , '007, 008' , getdate() , 'TEST' )

อันนี้คือ response ที่ ทำโดยการคอมเมนท์ ObjConn.execute rSql ไว้นะคะ
มันออกมา 2 ชุดซะงั้น..คงเป็นปัญหาที่ใช้ for each ซ้อนกันรึป่าวคะ
ระหว่างหน้า preview กะหน้า insert DB
Date : 2010-02-10 11:03:01 By : newjam
 


 

No. 7



โพสกระทู้ ( 41 )
บทความ ( 0 )



สถานะออฟไลน์


ขออภัยค่ะ ที่ตอบกลับโดยไม่ได้อ่านที่พี่คอมเมนท์กลับมา..พอดีอันนั้น response ทั้ง rsql
ของ tbl การจองเลยค่ะ

ส่วนอันด้านบนที่คอมเมนท์ไปตะกี้คือลองเช็คค่ามัน แบบไม่ต้อง excute น่ะค่ะ
ก็ปรากฎเป็นดังที่เห็นค่ะพี่...

มันวนลูปเช็คอยู่นะ แต่สาเหตุคงเพราะหน้า preview ก็ใส่ for Each เหมือนกัน
พอมานี่อีก ก็ For each จะ insert อีก มันก็เลยแยกทีละค่าเหมือนตอนที่หน้า preview ดึงค่ามาจากฟอร์มไม่ได้น่ะค่ะ

เข้าใจแบบนี้ถูกรึป่าวคะพี่...งง ๆ ตัวเองเหมือนกัน...
Date : 2010-02-10 11:07:32 By : newjam
 


 

No. 8



โพสกระทู้ ( 3,144 )
บทความ ( 1 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


อืมๆ นั่นคงเป็นที่ error แหละ

ลองแก้เป็นแบบนี้ได้ไหม

Code (VB.NET)
rSql = "Insert into ORDER_ROOM "
rSql = rSql & "Values ( '" & sReserveId& "' "
rSql = rSql & " , '" & Room & "' "
rSql = rSql & " , getdate() "
rSql = rSql & " , 'TEST' ) "

Date : 2010-02-10 11:16:30 By : tungman
 


 

No. 9



โพสกระทู้ ( 41 )
บทความ ( 0 )



สถานะออฟไลน์


// โค้ดค่ะ

For Each srRoom in Request.Form("abroom")
response.write ("check&nbsp;" &srRoom)
rSql = ""
rSql = rSql & "Insert into RESERVE_ROOM "
rSql = rSql & "Values ( '" & sReserveId& "' "
rSql = rSql & " , '" &srRoom & "' "
rSql = rSql & " , getdate() "
rSql = rSql & " , 'TEST' ) "

ObjConn.execute rSql
Next



//ผลลัพท์ที่ได้

เลขที่ใบจอง201002222
check 008, 009

Microsoft OLE DB Provider for SQL Server error '80040e37'

Invalid object name 'RESERVE_ROOM'.
Date : 2010-02-10 11:34:52 By : newjam
 


 

No. 10



โพสกระทู้ ( 3,144 )
บทความ ( 1 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


RESERVE_ROOM เป็นชื่อของ table ที่จะ insert หรือเปล่า
Date : 2010-02-10 11:39:04 By : tungman
 


 

No. 11



โพสกระทู้ ( 41 )
บทความ ( 0 )



สถานะออฟไลน์


เป็นชื่อ tbl ในส่วนของรายการห้องค่ะ แก้ไขให้เป็น order_room แล้วค่ะ
แต่ก็ยัง Error เหมือนเดิมค่ะ

Microsoft OLE DB Provider for SQL Server error '80040e57'

String or binary data would be truncated.

ลองไปเพิ่มขนาดของฟิลด์ใน DB มันก็จะ insert ได้นะคะ
แต่ประเด็นคือ จิง ๆ มันก็ต้องลงทีละ record นะคะ กรณีเลือกหลาย ๆ ห้อง
โดยอ้างอิงจากเลขที่ใบจอง มันเหมือนลูปไม่ทำงานเลย
Date : 2010-02-10 13:29:55 By : newjam
 


 

No. 12



โพสกระทู้ ( 3,144 )
บทความ ( 1 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


ลอง hard code value ใน sql command ดูครับว่าได้หรือเปล่า

แล้วก็รบกวนเขียน command แบบเต็มๆ ทีอย่าเขียนแบบย่อเลย ผมดูยาก
Date : 2010-02-10 13:42:25 By : tungman
 


 

No. 13

Guest


Insert into ORDER_ROOM (Reserve_ID,Room_ID,Update_date,Update_by)
VALUES (201002251,'014',getdate(),'TEST')

Query ไม่ผิดค่ะ Insert ได้


มีผลมั๊ยคะที่เรา Hidden ค่ามาจากหน้า preview form
<input type="hidden" name="abroom" Value="<%= Request.Form("s_room")%>" >

พอมาหน้า insert มันก็เป็นอีกหน้านึงนะคะ คือหน้า update form (ไม่ได้ excute ในหน้าเดียวกันกะ preveiw)

แล้วพอส่งค่าไปอีกหน้านึง แล้วใช้คำสั่ง For each วนลูปอีกรอบ มันก็เลยไม่ได้รึป่าวคะ

For Each srRoom in Request.Form("abroom")
rSql = ""
rSql = rSql & "Insert into ORDER_ROOM "
rSql = rSql & "Values ( '" & sReserveId& "' "
rSql = rSql & " , '" &srRoom & "' "
rSql = rSql & " , getdate() "
rSql = rSql & " , 'TEST' ) "

ObjConn.execute rSql
Next
Date : 2010-02-10 14:25:59 By : newjam
 


 

No. 14



โพสกระทู้ ( 3,144 )
บทความ ( 1 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


อ้างอิงจากอันนี้

Code
Insert into ORDER_ROOM (Reserve_ID,Room_ID,Update_date,Update_by)
VALUES (201002251,'014',getdate(),'TEST')


กับ

Code
rSql = "Insert into ORDER_ROOM Values ('" & sReserveId & "', '" &srRoom & "', getdate() ,'TEST') "


ลองแก้เป็น

Code
rSql = "Insert into [ORDER_ROOM] ([Reserve_ID], [Room_ID], [Update_date], [Update_by]) Values (" & sReserveId & ", '" &srRoom & "', getdate(), 'TEST') "

Date : 2010-02-10 15:01:47 By : tungman
 


 

No. 15



โพสกระทู้ ( 41 )
บทความ ( 0 )



สถานะออฟไลน์


เลขที่ใบจอง201002278

Microsoft OLE DB Provider for SQL Server error '80040e57'

String or binary data would be truncated.

/webreserve/web1/Update_reservation.asp, line 127

Error เรื่อง ขนาดของ Fields เหมือนเดิมค่ะ


ส่วนด้านล่างนี้คือลองคอมเมนท์ ObjConn.execute rSql ไว้อ่ะค่ะ เลือก 2 ห้อง ก็ได้ผลดังด้านล่าง
เลขที่ใบจอง201002279
Insert into [ORDER_ROOM] ([Reserve_ID], [Room_ID], [Update_date], [Update_by]) Values (201002279, '002, 005', getdate(), 'TEST')
Date : 2010-02-10 15:25:23 By : newjam
 


 

No. 16



โพสกระทู้ ( 41 )
บทความ ( 0 )



สถานะออฟไลน์


อีกประเด็นนึงที่ไม่เข้าใจค่ะว่า


form_reserve.asp ==>preview_reserve.asp==>insert_reserve.asp
โค้ดเดียวกัน แต่มีปัญหา insert ลง DB ไม่ได้ (มีการซ่อนค่าตัวแปรมาจากหน้า preview)



form_reserve.asp ==>insert_reserve.asp
โค้ดเดียวกัน แต่ insert DB ลงไปได้ (ไม่มีการซ่อนค่าตัวแปร)
Date : 2010-02-10 15:37:35 By : newjam
 


 

No. 17



โพสกระทู้ ( 3,144 )
บทความ ( 1 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


Code (ASP)
Dim BookedRooms
Dim SplitRooms, i

BookedRooms = Replace(Request.Form("abroom"), " ", "") 'ลบ space ออก
SplitRooms = Split(BookedRooms, ",") 'แยกเลขห้องที่จองออกมาใส่ใน array

For i = 0 To UBound(SplitRooms)
    rSql = "Insert into [ORDER_ROOM] ([Reserve_ID], [Room_ID], [Update_date], [Update_by]) " &_
        "Values (" & sReserveId & ", '" & SplitRooms(i) & "', getdate(), 'TEST')"

    ObjConn.execute rSql 
Next

Date : 2010-02-10 15:39:43 By : tungman
 


 

No. 18



โพสกระทู้ ( 41 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณนะคะที่ช่วยดูโค้ดให้อย่างต่อเนื่อง ^_^

แต่ขอรบกวนช่วยแนะนำอีกนิดนะคะ
ปัญหามันเกิดจากการส่งค่าตัวแปรมาใช่รึป่าวคะ
ค่าที่ hidden มา มันจะเป็น text เสมอ ดังนั้นพอมาถึงหน้าจะอัพเดท
ก็เลยต้องทำการแปลงค่านั้นก่อนใช่รึป่าวคะ

รบกวนช่วยอธิบายอีกซักเล็กน้อยค่ะ


ขอบคุณมากค่ะ คุณ "Tungman"
Date : 2010-02-10 16:15:12 By : newjam
 


 

No. 19



โพสกระทู้ ( 3,144 )
บทความ ( 1 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


เอาอย่างนี้แล้วกัน

input --> preview --> save

เก็บลง control ตัวเดียวกันส่งไปโดย post --> ถ้าอ้างอิงจากชื่อ control นั้นยังสามารถใช้ for each ได้อยู่ --> พอส่งมาถึงตรงนี้มันกลายเป้น string เส้นเดียวแล้ว จะใช้ต้อง split ลูกเดียว

แล้วได้รึยังอะ ยัง error อยู่ไหม ถ้ายัง error อยู่ แสดงว่าศรัทธายังไม่พอ จงเชื่อมั่นในศรัทธา แล้วจะเห็นแสงสว่าง
Date : 2010-02-10 16:22:01 By : tungman
 


 

No. 20



โพสกระทู้ ( 41 )
บทความ ( 0 )



สถานะออฟไลน์


อื้มม ได้แล้วค่ะ "ศรัทธาอย่างล้นเหลือ" ขอบคุณมากค่ะ Thanks again krabbb ^_^
Date : 2010-02-10 16:30:34 By : newjam
 


 

No. 21



โพสกระทู้ ( 41 )
บทความ ( 0 )



สถานะออฟไลน์


พี่คะ อย่าพึ่งรำคาญนะคะ คือพอดีมันมีส่วนเพิ่มเติมที่ยังไม่เข้าใจเรื่อง Split อยู่น่ะค่ะ

เกี่ยวกะการเก็บข้อมูลอุปกรณ์โสตฯนะคะ พอดีตอนทำลูปเก็บในส่วนของการจองอุปกรณ์โสตฯ
ได้ลองใช้วิธีตามลิงค์นี้ค่ะ https://www.thaicreate.com/asp/forum/037552.html
แล้วตอนนี้ก็เจอปัญหาเรื่องการส่งค่าไปยังหน้าบันทึก ซึ่งมันกลายเป็น string เส้นเดียวอย่างที่พี่อธิบายน่ะค่ะ
เลยจะรบกวนขอให้ช่วยแนะนำวิธีการอีกครั้งได้มั๊ยคะ คือลอง split เอง แก้เองมาตั้งแต่เมื่อคืนแล้ว
แต่ยังทำไม่ได้ที่จะตัดยังไงถึงจะได้ชื่ออุปกรณ์ กะจำนวนอุปกรณ์ แล้วเก็บลง DB น่ะค่ะ
ลองเอาวิธีที่พี่แนะนำเรื่องห้องประชุมมาปรับใช้ดู แต่มันก็ไม่ได้น่ะค่ะ

รบกวนพี่ช่วยอีกซักนิดได้มั๊ยคะ (ด้านล่างเป็นการเลือกอุปกรณ์ 2 ชนิดคือ 001 กะ002 แต่จำนวนมันไม่มา)

Insert into ORDER_EQUIPMENT(Reserve_ID,Equip_ID,Equip_Qty,Update_date,Update_by)
VALUES ( '201002005' , '001' ,'002', '' , getdate() , 'TEST' )


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

<%
If(Request.Form("audio")<>"")then
For Each checkaudio In Request.Form("audio")
i=i+1

Set ObjRS_eq = Server.CreateObject("ADODB.Recordset")
rSql = "select * from MASTER_EQUIPMENT where equip_id= '" & checkaudio & "'"
ObjRS_eq.Open rSql, ObjConn, 3, 1

Response.Write i & "." & "&nbsp;" & ObjRS_eq("equip_name") & "&nbsp;&nbsp;" & "จำนวน" & "&nbsp;&nbsp;" & Request.Form("qtyaudio" & checkaudio) & "&nbsp;&nbsp;" & "ชุด" & "<br/>"

Next
Else
Response.Write "-"
End If
%>
Date : 2010-02-11 09:14:18 By : newjam
 


 

No. 22



โพสกระทู้ ( 3,144 )
บทความ ( 1 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


ASP/VBScript Split() การใช้งานฟังก์ชั่น split ครับ

ลองดูเองจะได้เก่งๆ
Date : 2010-02-11 10:03:17 By : tungman
 


 

No. 23



โพสกระทู้ ( 41 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณค่ะ...

แต่คราวนี้มัน Hidden ไอ้ส่วนของจำนวนที่เค้าจองมันไม่ส่งค่าไปอีกหน้าค่ะพี่
มันมาแค่ค่า ID ของอุปกรณ์ที่จอง จำนวนมันไม่มา


เลยงมโข่งอยู่กะไอ้ตัวส่งค่าจำนวนอีกหน้านึงอ่ะค่ะ ยังไม่ได้เลย..

https://www.thaicreate.com/asp/forum/037552.html



Request.Form("qtyaudio" & checkaudio)

...ขอโทษจิง ๆ ค่ะที่ถามเยอะๆ ยังไงก็รบกวนพี่ตรงนี้หน่อยนะคะ
นี่เป็นเว็บแรกที่ทำ และไม่เคยเขียนเว็บมาเลย บางอย่างมันกะไกด์ไม่ออก
Date : 2010-02-11 10:49:52 By : newjam
 


 

No. 24



โพสกระทู้ ( 3,144 )
บทความ ( 1 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


ก็ write --> "qtyaudio" & checkaudio ออกมาดูว่าตรงกับชื่อ control ที่อ้างอิงหรือเปล่าสิครับ

ถ้ามันไม่ตรง ค่ามันก็ไม่ออกหรอกนะ

ปล. ถ้าเป็น checkbox มันส่งเป็น "on" มานะ ต้องใช้ If ช่วย

ตัวอย่าง

Code (ASP)
' CheckBoxIndex อาจเป็น 1, 2, 3, 4 ก็ได้
If Request.Form("Cb" & CheckBoxIndex) = "on" Then
    'Do something here.
End If

Date : 2010-02-11 11:05:22 By : tungman
 


 

No. 25



โพสกระทู้ ( 41 )
บทความ ( 0 )



สถานะออฟไลน์


ได้แล้วค่ะ ^_^ มันต้องเอาค่า Hidden มาวางไว้ข้างในลูปที่แสดงค่ายืมอุปกรณ์
ภายในของหน้า preview ถึงจะได้อ่ะค่ะ วางด้านบนก็ไม่ได้ ค่าไม่ส่งไป...


ขั้นตอนต่อไปเดี๋ยวจะเข้าสู่การ split แล้วค่ะ งง ๆ อีกเช่นเคย
ถ้าค่ามันมาเป็น "ID,จำนวน" หลาย ๆ อัน จะตัดยังไงดี
Date : 2010-02-11 11:06:39 By : newjam
 


 

No. 26



โพสกระทู้ ( 3,144 )
บทความ ( 1 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


ก็ split ด้วย "," สิ

แล้วกำหนดเอาว่า index ไหนแทนอะไร
Date : 2010-02-11 11:39:07 By : tungman
 


 

No. 27



โพสกระทู้ ( 41 )
บทความ ( 0 )



สถานะออฟไลน์


ไม่เข้าใจอ่ะค่ะ...

ตรงไหนเรียกว่า index อ่ะคะ

Split(expression[, delimiter[, count[, compare]]])

อันนี้คือค่าที่ Hidden มา ถ้าเป็น insert record เดียวมันได้ค่ะ

For Each checkaudio In Request.Form("saudio")
srqtyaudio = Request.Form("sqtyaudio")

ก็เลยคิดว่าจะ split ทีละค่า แล้วค่อยมาใส่เช็คเงื่อนไข If else กันอีกที แต่ไม่รู้จะได้รึป่าวตอนนี้ยัง Error อยู่ค่ะ


ไม่ค่อยเข้าใจที่พี่ไกด์ให้อ่ะค่ะ รบกวนช่วยยกตัวอย่างให้หน่อยได้มั๊ยคะ
คือยังไม่เข้าใจหลักการเขียนน่ะค่ะ ...
Date : 2010-02-11 12:01:32 By : newjam
 


 

No. 28



โพสกระทู้ ( 3,144 )
บทความ ( 1 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


ไม่รำคาญหรอก แต่อยากให้ลองแก้เอง อันไหนเห็นว่ายากไปจะช่วยบอกให้ แต่อันไหนเห็นว่าน่าจะทำได้ก็จะให้ลองทำเองดู

function split มันจะแยก string ออกเป็น string ย่อยๆ และ return ค่ากับมาเป็น array ดังนั้นเมื่อเป็น array แล้ว

จึงต้องใช้ index ของ array ในการอ้างอิง
Date : 2010-02-11 12:39:42 By : tungman
 


 

No. 29



โพสกระทู้ ( 41 )
บทความ ( 0 )



สถานะออฟไลน์


Dim audioloop,qtyloop
Dim splitaudio,spliqty,a

audioloop = Replace(Request.Form("saudio"), " ", "")
splitaudio = Split(audioloop, ",")
qtyloop = Replace(Request.Form("sqtyaudio"), " ", "")
spliqty = Split(qtyloop, ",")

For a = 0 To UBound(splitaudio)

rSql = ""
rSql = rSql & " Insert into ORDER_EQUIPMENT "
rSql = rSql & "Values ( '" & sReserveId& "' "
rSql = rSql & " , '" & splitaudio(a) & "' "
rSql = rSql & " , '" & spliqty(a) & "' "
rSql = rSql & " , getdate() "
rSql = rSql & " , 'TEST' ) "

ObjConn.execute rSql
Next


// ข้อมูลสามารถ Insert ลงฐานข้อมูลได้นะคะพี่..แต่มัน Error ดังนี้ค่ะ //

Microsoft VBScript runtime error '800a0009'
Subscript out of range: '2'

Line ที่ Error คือ rSql = rSql & " , '" & spliqty(a) & "' "

หาดู Error ในกูเกิ้ล เค้าบอกว่ามันวนลูปเกิน Array ของมันน่ะ
แล้วเราจะเช็คได้ไงอ่ะค่ะ ว่ามันวนเกินตรงไหน https://www.thaicreate.com/asp/forum/037867.html

ตัวแปรที่มีก็คิดว่าไม่ได้ตั้งเกินนะคะ
Date : 2010-02-11 14:36:10 By : newjam
 


 

No. 30



โพสกระทู้ ( 3,144 )
บทความ ( 1 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


For a = 0 To UBound(splitaudio) - 1

ลองดู
Date : 2010-02-11 14:46:17 By : tungman
 


 

No. 31



โพสกระทู้ ( 41 )
บทความ ( 0 )



สถานะออฟไลน์


ใส่ตรง For เหมือนที่พี่บอกก็ไม่ได้ค่ะ

ใสในโค้ดบรรทัดด้านล่างนี้ก็ไม่ได้ค่ะ
splitaudio = Split(audioloop, ",",-1,1)
splitqty = Split(qtyloop, ",",-1,1)
Date : 2010-02-11 14:55:44 By : newjam
 


 

No. 32



โพสกระทู้ ( 3,144 )
บทความ ( 1 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


แก้ตามนี้แล้ว เอามาให้ดูหน่อย เอามาทั้ง error นั่นแหละ

Code (VB.NET)
Dim audioloop,qtyloop
Dim splitaudio,spliqty,a

audioloop = Replace(Request.Form("saudio"), " ", "")
splitaudio = Split(audioloop, ",")
qtyloop = Replace(Request.Form("sqtyaudio"), " ", "")
spliqty = Split(qtyloop, ",")

For a = 0 To UBound(splitaudio)
    rSql = ""
    rSql = rSql & " Insert into ORDER_EQUIPMENT "
    rSql = rSql & "Values ( '" & sReserveId& "' "
    rSql = rSql & " , '" & splitaudio(a) & "' "
    rSql = rSql & " , '" & spliqty(a) & "' "
    rSql = rSql & " , getdate() "
    rSql = rSql & " , 'TEST' ) "

    'ObjConn.execute rSql
    Response.Write rSql & "<br />"
Next 


รบกวนช่วยศึกษาการใช้ ASP Split() ด้วยดูเหมือนยังใช้ไม่เป็น
Date : 2010-02-11 15:08:20 By : tungman
 


 

No. 33



โพสกระทู้ ( 41 )
บทความ ( 0 )



สถานะออฟไลน์


Insert into ORDER_EQUIPMENT Values ( '201002078' , '001' , '5' , getdate() , 'TEST' )
Insert into ORDER_EQUIPMENT Values ( '201002078' , '002' , '4' , getdate() , 'TEST' )

Microsoft VBScript runtime error '800a0009'

Subscript out of range: '2'

/webreserve/web1/Update_reservation.asp, line 155

// Line 155 คือ บรรทัด rSql = rSql & " , '" & splitqty(a) & "' "


ปล. เรื่อง Split ก็ดูอยู่ค่ะ ก็จริงอาจจะยังใช้ไม่เป็น แต่ที่เห็นว่าเอา -1,1 ไปใส่ลงในบางจุด
ก็เพราะเห็นจากที่ search แล้วคนอื่น ๆ เค้าใส่กัน ก็เลยเอามาแก้ในโค้ดตัวเองดู
อาจจะยังเข้าใจรายละเอียดไม่ได้มาก ก็คงต้องตาม ๆ คนอื่นเค้าไปก่อน เมื่อมันใช้การได้
มันก็คงจะเริ่มขยายออกไปถึงแนวทางการใช้งาน และหลักการของมันได้บ้าง

ไม่ได้โกรธที่พี่แนะนำนะคะ แต่อธิบายให้พี่ฟังเฉย ๆ ...บางส่วนก็พยายามด้วยตัวเองอยู่นะ...แต่ก็คงยังสะเปะสะปะอยู่...
Date : 2010-02-11 15:25:40 By : newjam
 


 

No. 34



โพสกระทู้ ( 3,144 )
บทความ ( 1 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


Code (VB.NET)
Dim audioloop,qtyloop
Dim splitaudio,spliqty,a

audioloop = Replace(Request.Form("saudio"), " ", "")
splitaudio = Split(audioloop, ",")
qtyloop = Replace(Request.Form("sqtyaudio"), " ", "")
spliqty = Split(qtyloop, ",")

For a = 0 To UBound(splitaudio)
    rSql = ""
    rSql = rSql & " Insert into ORDER_EQUIPMENT "
    rSql = rSql & "Values ( '" & sReserveId& "' "
    rSql = rSql & " , '" & splitaudio(a) & "' "
    
    If a < UBound(spliqty) 'อันนี้ลองดูเอานะ ไม่รู้ว่าจะ < หรือ <= ดี
        rSql = rSql & " , '" & spliqty(a) & "' "
    End If

    rSql = rSql & " , getdate() "
    rSql = rSql & " , 'TEST' ) "

    ObjConn.execute rSql
Next 

Date : 2010-02-11 15:32:57 By : tungman
 


 

No. 35



โพสกระทู้ ( 41 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณค่ะ..ได้แล้วค่ะ

แต่ขอถามค่ะ...มันเกิดจาก array ลูปเช็คไม่เท่ากันเหรอคะ
หรือเกิดจากปัญหาอะไรคะ
Date : 2010-02-11 15:56:33 By : newjam
 


 

No. 36



โพสกระทู้ ( 41 )
บทความ ( 0 )



สถานะออฟไลน์


พี่พอจะเคยใช้ปุ่ม back บ้างมั๊ยคะ เวลาที่ preview ดูแล้ว และเค้าจะย้อนกลับไปแก้ไขน่ะค่ะ
เคยเจอเคสแบบว่าใช้ java แล้วมันไม่คืนค่าที่เคยเลือกข้อมูลไว้แล้วมั๊ย
มีคนเค้าอธิบายมาว่า ให้ทำดังนี้

"ตอนทำปุ่ม preview อ่ะ ใช้เป็น Submit ค่าไปเลยแล้วรับค่ามาลงเก็บไว้ ตอนกลับไปก็ Submit ค่าอีกทีไม่งั้นมันจะมีปัญหาแบบนี้ล่ะถ้าใช่ window.history.back() อ่ะ"

คือ ยังไงคะ...พี่พอจะมีคำอธิบายตรงนี้เพิ่มเติมหน่อยได้มั๊ย

ตอนนี้ในส่วนของการทำปุ่ม back ยังแก้ไขแบบผักชีโรยอยู่น่ะค่ะ ก็เลี่ยงๆ โดยสร้างฟังก์ชั่นเพิ่ม เพื่อ Enable ค่าต่าง ๆ ก่อนส่งอีกรอบ

function gotoPreview(o) {
frm=document.form_reservation;

enablDisablFAC(o);
enablDisablaudio(o);
enablDisablDrink(o);
enablDisablFood(o);

frm.submit();
}


ซึ่งมันก็ไม่ค่อยดีเท่าไหร่ แต่ก็ยังหาวิธีแก้ไขอื่น ๆ ไม่ได้ เลยไม่รู้จะยังไงดี...

https://www.thaicreate.com/asp/forum/038234.html
Date : 2010-02-11 16:29:21 By : newjam
 


 

No. 37



โพสกระทู้ ( 72 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณด้วยคนนะค่ะ
เพิ่งเริ่ม ASP
ตอนนี้ปวดหัวมาก
Date : 2010-02-14 23:15:19 By : nuchplus
 


 

No. 38

Guest


Code (ASP)
<html>
<header><title> Cms </title></header>
<body>
<meta http-equiv="Content-Type" content="text/html; charset=TIS-620" />

คืออย่ากจะให้ดูให้หน่อยค่ะทำไมถึงไม่สามารถแก้ไขข้อมูลลงในฐานข้อมูลนะค่ะคือมันไม่แสดงข้อความออกมานะค่ะ
<?php
ob_start();
echo "<body bgcolor=#CC9900>
<table width=700 height=480 border=0>
<tr>
<td height=119 colspan=2 bgcolor=#006600><h1><center>
  <font color=#FFFFFF>ผู้ดูแลระบบ</font></center></h1><br></td>
</tr>
<td width=1007 bgcolor=#FFFFFF>";
session_start();

if (($user=="root") && ($password=="1234"))

if(!$send)

?>
<form action="<?php $_PHP_SELF ?>" method="POST">
<input type=hidden name=code value=$room_id>
ประเภทห้อง: <input type=text name=type value=$room_type><br>
ขนาดห้อง: <input type=text name=size value=$room_size><br>
ราคา/วัน: <input type=text name=priceday value=$priceperday><br>
ราคา/เดือน: <input type=text name=pricemonth value=$pricepermonth><br>
รูปภาพ: <input type=file name=picture><br>
<input type=submit value=ตกลง name=send>
<input type=reset value=ยกเลิก name=cancel>
</form>


<?
{
  $path_pic="http://localhost/cms/images/";
if ($picture != none)
if($_FILES['picture'])
{
$image = $_FILES["picture"]["name"];
$tmp = $_FILES["picture"]["tmp_name"];
if ($picture=copy($_FILES["picture"]["tmp_name"],"$path_pic/".$_FILES["picture"]["name"]))

if (copy($tmp,$path_pic."/".$image))

 $image = $_FILES["picture"]["name"];
$link = mysql_connect("localhost","root","1234");
mysql_query("Use room;");
mysql_query("set NAMES tis620");
$sql = "Update room_data Set room_type = '$type', room_size = '$size', priceperday = '$priceday', pricepermonth = '$pricemonth', 
picture = ' $image' Where room_id = '$code';";
$result = mysql_query($sql);
if($result)
{
echo "แก้ไขรายการห้องพักใหม่แล้ว<p>";
mysql_close($link);
}
else
{
echo "ไม่สามารถแก้ไขรายการห้องพักได้<p>";
}
}
}

include "load_room.php";
echo"</td>


<td width=400 bgcolor=#FFFF66>
<ul>
<li><a href=insert_admin.php>เพิ่มข้อมูลรายการห้อง </a></li>
<li><a href=load_room_admin.php>แก้ไข-ลบข้อมูลรายการห้อง </a></li>
<li><a href=logout_admin.php>ออก</a></li>
</ul>
</td>
</table>";
ob_end_flush();

?>
</body>
</html>

Date : 2013-01-23 22:22:57 By : may
 


 

No. 39



โพสกระทู้ ( 73,832 )
บทความ ( 835 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

ตั้งกระทู้ใหม่น่ะครับ
Date : 2013-01-23 22:24:31 By : mr.win
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ช่วยดูโค้ดลูป insert ลง Database ให้หน่อยค่ะ Microsoft OLE DB Provider for SQL Server error '80040e57' String or binary data would be truncated
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: Voake, Comcube, vps | เช่า vps , รับทำเว็บไซต์ รับเขียนโปรแกรม

Load balance : Server 04
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2019 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
for Contact Us : [Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 , 08-9968-0655 อัตราราคา คลิกที่นี่