พบกับบทความเกี่ยวกับคอมพิวเตอร์และ programming ได้ที่ http://articles.modoeye.com | บล็อกอาหาร | Thailand travel information
ASP programming / การ update ข้อมูลในฐานข้อมูล(อีกครั้ง)
มือใหม่หัดเขียน
มือใหม่หัดเขียน
Mon 12 Jun 2006 14:20:03

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

<meta http-equiv="Content-Type" content="text/html; charset=tis-620">
 <%
  'on error resume next
  Process = request("Process")
  TotalItem = request("TotalItem")
  ID_Marjor=request("ID_Marjor")
  ID_Section=request("ID_Section")
  ID_Student=request("ID_Student")
  ChkOnline=request("ChkOnline")
  Data=request("Data")
  
  Table = "M_MainSubject"
  Url = "Default.asp?Page=M_MainSubject"
  Order="  Order By IDRef Desc"
'=============  use for Function  CountRecord and  ShowTopic ==============  
   If  Process = "Delete"  Then

   'Set Rs_Del = Conn.execute("Update  M_Student  set  Statuss  =  0   WHERE IDRef In (Select ID_Student From M_MainSubject  WHERE IDRef  IN ('"&CmdTxt&"'))")<-------ตรงนี้คือคำสั่งที่ใส่ใหม่ ไม่ทราบว่าถูกไหมแต่ทำแล้วมันเหมือนเดิมมันไม่เปลี่ยนให้เลย

    For  NumOfData = 1 to TotalItem
       StrDel = request("check"&NumOfData)
       if StrDel <> "" Then
         CmdTxt = CmdTxt&StrDel&","
               End if
    Next
    'CmdTxt = Left(CmdTxt,len(CmdTxt) - 1)
CmdTxt = Left(CmdTxt,len(CmdTxt) - 1)

'Response.Write("Update  M_Student  set  Statuss  =  0   WHERE IDRef In (Select ID_Student From M_MainSubject  WHERE IDRef  IN ('"&CmdTxt&"'))")
'Response.End()
'Set Rs_Del = Conn.execute("Update  M_Student  set  Statuss  =  0   WHERE IDRef In (Select ID_Student From M_MainSubject  WHERE IDRef  IN ('"&CmdTxt&"'))")
'Set Rs_Del = Conn.execute("Delete From M_MainSubject WHERE IDRef  IN ('"&CmdTxt&"')")

   'X = "Update  M_Student  set   Statuss= 0  where   IDRef   IN ('"&CmdTxt&"')"
   'Set Rs_Del = Conn.execute("Update  M_Student  set   Statuss= 0  where   IDRef   IN ('"&CmdTxt&"')")
   'Set Rs_Del = Conn.execute("Update  M_Student  set  Statuss  =  0   WHERE RefID In (Select ID_Student From "&Table&" WHERE IDRef  IN ('"&CmdTxt&"'))")
   'Set Rs_Del = Conn.execute("Update  M_Student  set  Statuss  =  0   WHERE ID_Student In (Select ID_Student From "&Table&" WHERE IDRef  IN ('"&CmdTxt&"'))")
   'Set Rs_Del = Conn.execute("Update  M_Student  set  Statuss  =  0   WHERE IDRef In (Select ID_Student From M_MainSubject  WHERE IDRef  IN ('"&CmdTxt&"'))")
  'Set Rs_Del = Conn.execute("Update  M_Student  set  Statuss  =  0   WHERE IDRef In (Select ID_Student From M_MainSubject  WHERE IDRef  IN ('"&CmdTxt&"'))")
   Set Rs_Del = Conn.execute("Delete From "&Table&" WHERE IDRef  IN ('"&CmdTxt&"')")
    'Response.Write( X )
    'Set Rs_Del = Conn.execute("Update  M_Student  set  Statuss  =  0   WHERE IDRef In (Select ID_Student From M_MainSubject  WHERE IDRef  IN ('"&CmdTxt&"'))")

    'Response.Write("Update  M_Student  set  Statuss  =  0   WHERE IDRef In (Select ID_Student From M_MainSubject  WHERE IDRef  IN ('"&CmdTxt&"'))")
    
    'Response.End()
    response.redirect(Url)
   End If
  
    ' If  Process = "Delete"  Then
    'Table2 = "M_Student "
    '   StrSQL2 = "Select  *  from "&Table2
    '   Set strRS = Server.CreateObject("Adodb.Recordset")
    '    strRS.open StrSQL2,Conn,1,3
    '    strRs.Addnew()
    '   strRs("ID_Student")    =  ID_Student
    '    strRs("statuss ")    =  0
    '    strRs.update()
    '    strRs.close
    '    set strRs = nothing
    '  ID_Student =  session("User")
      '//Table4 = "M_Student" 
    ' StrSQL2 = "Update  M_Student  set  Statuss  =  0   where   IDRef = " & ID_Student
    '  Set strRS = Server.CreateObject("Adodb.Recordset")
    '   strRS.open StrSQL2,Conn,1,3
    '   strRs.Update()
       '//strRs("ID_Student")    = ID_Student
       '//strRs("ID_Subject")    = ID_Subject
     
       '//strRs.update()
    '   strRs.close
    'set strRs = nothing
'end if

Administrator
Mon 12 Jun 2006 16:57:10
ลิงค์ที่ให้ดูนั้นเป็นการใช้งาน Recordset ครับ ซึ่งใน ASP จะมีการใช้งาน query ผ่าน recordset ได้ง่ายกว่าครับ เช่น

<%

Dim rs, data_source
data_source = myDSN

Set rs = Server.CreateObject("ADODB.Recordset")
'สร้าง recordset
rs.Open "books", data_source, 1, 2, adCmdTableDirect

'ทำการ filter เฉพาะข้อมูลที่ต้องการ
rs.Filter = "author = 'Faisal Khan'"

'ทำการแก้ไขข้อมูลที่ record ที่ต้องการ
rs("title") = "Update Records"
'สั่งให้ recordset ทำการ update ข้อมูลทั้งหมดลงไปยัง database
rs.Update

'ปิด connection
rs.Close
Set rs = Nothing
%>

มือใหม่หัดเขียน
มือใหม่หัดเขียน
Tue 13 Jun 2006 15:00:36

ช่วยยกตัวอย่างให้จะได้ไหมคะ

Administrator
Tue 13 Jun 2006 22:14:04
#customers
-customerid
-customername

<%
set conn = Server.CreateObject("ADODB.Connection")
conn.Provider = "Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/webdata/northwind.mdb"
set rs = Server.CreateObject("ADODB.Recordset")
rs.open "SELECT * FROM customers WHERE customerid=20",conn

rs("customername") = "MODOEYE"
rs.update
rs.close
set rs = nothing
conn.close
set conn = nothing

%>
ผมไม่เก่ง ASP นะครับแต่การใช้งานประมาณนี้ครับ
http://www.stardeveloper.com/articles/display.html?article=2000032801&page=1
http://www.aspchapter.com/g2devboard/Showdetail.asp?post_id=4161
http://www.devpapers.com/article/181
http://support.microsoft.com/kb/q188713/
มือใหม่หัดเขียน
มือใหม่หัดเขียน
Wed 14 Jun 2006 13:16:52

ตามลิงค์ที่ให้มาก็เข้าไปดูแล้วและก็ลองทำดูแต่ว่ามันก็ยังไม่ update ให้อยู่ดีไม่ทราบว่าทำตรงไหนผิดอีกหรือเปล่าก็ไม่รู้ช่วยแนะนำอีกด้วยนะคะ

Administrator
Wed 14 Jun 2006 14:15:57
การทำงานของทั้งหมดก็มีเท่านั้นครับ ทดสอบการใช้งานฟังก์ชั่นโดยการสร้าง table เพื่อทำการทดลองก่อนครับ ลองใช้ conn.Execute แล้วสามารถทำการ update โดยตรงดูครับ ถ้ายังไม่ได้น่าจะมี constain บางอย่างอย่างไรลองตรวจสอบดูครับ
มือใหม่หัดเขียน
มือใหม่หัดเขียน
Wed 21 Jun 2006 15:35:48
ตอนนี้แก้ได้แล้วนะคะขอบคุณที่แนะนำ แต่มีเรื่องถามคะมีฟอร์มนึงที่ข้อมูลมันไม่แสดงทั้งที่ที่ก่อนหน้านี้ก็แสดงนะคะแต่ก็ไม่ได้เข้าไปแก้โค้ดอะไรมันเป็นเพราะอะไรหรือคะ
Administrator
Wed 21 Jun 2006 21:26:51
คงต้องลอง debug ดูครับ อาจจะมีปัญหาจากการแก้ไขโครงสร้างฐานข้อมูลก็ได้ครับ หรืออาจจะมีข้อมูลที่ทำให้เกิด Exception ก็ได้ครับ
มือใหม่หัดเขียน
มือใหม่หัดเขียน
Fri 23 Jun 2006 10:00:24

ทำไมค้นหาบางฟอร์มถึงไม่สามารถค้นหาได้คะทั้งๆที่โค้ดก็เหมือนกันไม่ทราบว่ามันติดตรงไหนหาที่ติดหาไม่เจอคะช่วยแนะนำด้วยนะคะ

Administrator
Fri 23 Jun 2006 10:52:55
อาจจะต้องดูถึงตัวข้อมูลด้วยครับว่าตรงกับ pattern ที่ใช้ในการค้นหาหรือไม่ครับ หรือลองทำการ debug โดยการ response.write ตัวคำสั่งที่ใช้ในการ query ออกมาเทียบกันดูครับว่ามีการส่งคำสั่งเดียวกันเข้าไปหรือไม่ครับ
มือใหม่หัดเขียน
มือใหม่หัดเขียน
Sun 25 Jun 2006 14:36:28

อยากทราบว่าทำไมในหนังสือ asp บางเล่มเขาถึงสอนการเขียนคำสั่งในไฟล์ .inc โดยใช้คำสั่ง <STLYE>  </STLYE> ดูแล้วมันงงน่ะคะพอจะมีคำสั่งอื่นที่ดูง่ายหรือเขียนยังไงช่วยแนะนำด้วยนะคะ

Administrator
Sun 25 Jun 2006 17:58:38
<style>..</style> เป็นการใส่ stylesheet ครับ ผมเข้าใจว่าผู้เขียนอาจจะต้องการแยก stylesheet ไว้ในไฟล์ .inc ครับ (ผมไม่เคยอ่านหนังสือ ASP ครับต้องขออภัยด้วย)
Reply
Name:
E-mail:
Home | Services | Forum | Classified | Directories | Support | Contact
ATOM feed RSS 0.9 feed RSS 1.0 feed RSS 2.0 feed
Copyright © 2005 - 2007 Modoeye.com, All Rights Reserved.
Disclaimer | Privacy policy | Term of Use | Term of Services
Valid XHTML Valid CSS! PHP: Hypertext Preprocessor MySQL database Apache Powered! FreeBSD Power to serve
Modoeye Sitemap Client login