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

Registered : 109,028

HOME > .NET Framework > Forum > ปัญหาคำสั่งUpdate Object reference not set to an instance of an object.



 

ปัญหาคำสั่งUpdate Object reference not set to an instance of an object.

 



Topic : 036646



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



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




Error
NullReferenceException was unhandled by user code
Object reference not set to an instance of an object.
ตรงcode update
Code (VB.NET)
strSQL = "Update Book SET BookISBN = '" & txtISBN.Text & "' " & _
        " ,BookName = '" & txtName.Text & "' " & _
        " ,BookDesc = '" & txtDesc.Text & "' " & _
        " ,BookPrice = '" & txtPrice.Text & "' " & _
        " ,BookQuantity = '" & txtQuantity.Text & "' " & _
        " WHERE BookID = '" & BookID & "'"


ทำให้แก้ไขข้อมูลคล้ายหน้านี้
https://www.thaicreate.com/asp.net/asp.net-detailsview-gridview-control-visual-studio-2005-framework2.0.html



Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-01-07 14:02:36 By : topflight View : 4204 Reply : 10
 

 

No. 1



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

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

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


ผู้ร้ายตัวจริงอาจไม่ใช่ code ที่ให้มานี้ครับ ลองเอาโค้ดส่วนอื่นมาดู

แต่ถ้าจะ error ก็จะมาจาก ค่าจาก textbox ที่ป้อนเข้ามา






Date : 2010-01-07 14:19:14 By : tungman
 


 

No. 2



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



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


Code (VB.NET)
Imports System.Data
Imports System.Data.SqlClient
Partial Class Purchase_Default
    Inherits System.Web.UI.Page

    Dim objConn As SqlConnection
    Dim objCmd As SqlCommand
    Dim strSQL As String
    Dim CusID As String = ""



    End Sub
    Protected Sub gvManageBindData()

        strSQL = "SELECT * FROM CUS"
        Dim dtReader As SqlDataReader
        objCmd = New SqlCommand(strSQL, objConn)
        dtReader = objCmd.ExecuteReader()

        gvManage.DataSource = dtReader
        gvManage.DataBind()

        dtReader.Close()
        dtReader = Nothing

    End Sub
    Protected Sub dvEditBindData()

        strSQL = "SELECT * FROM  Cus where CUSID = '" & CUSID & "' "
        Dim dtReader As SqlDataReader
        objCmd = New SqlCommand(strSQL, objConn)
        dtReader = objCmd.ExecuteReader()

        dvEdit.DataSource = dtReader
        dvEdit.DataBind()

        dtReader.Close()
        dtReader = Nothing

    End Sub
    Protected Sub Page_UnLoad()
        objConn.Close()
        objConn = Nothing
    End Sub
    
  
End Class


อันนี้codeทั้งหมด กดปุ่มupdateมันบอกว่ามีปัญหาตรงcode update error คือ ที่บอกไปตอนแรก
Date : 2010-01-07 14:35:21 By : topflight
 

 

No. 3



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

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

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


ลองดู

Code (VB.NET)
        strSQL = "Update [Book] SET [BookISBN] = @txtISBN, "
        strSQL &= "[BookName] = @txtName, "
        strSQL &= "[BookDesc] = @txtDesc, "
        strSQL &= "[BookPrice] = @txtPrice, "
        strSQL &= "[BookQuantity] = @txtQuantity "
        strSQL &= "WHERE [BookID] = @BookID"
 
        objCmd = New SqlCommand(strSQL, objConn)
        objCmd.Parameters.Add("@txtISBN", SqlDbType.NVarChar)
        objCmd.Parameters.Add("@txtName", SqlDbType.NVarChar)
        objCmd.Parameters.Add("@txtDesc", SqlDbType.NVarChar)
        objCmd.Parameters.Add("@txtPrice", SqlDbType.NVarChar)
        objCmd.Parameters.Add("@txtQuantity", SqlDbType.NVarChar)
        objCmd.Parameters.Add("@BookID", SqlDbType.NVarChar)
        objCmd.Parameters("@txtISBN").Value = txtISBN.Text
        objCmd.Parameters("@txtName").Value = txtName.Text
        objCmd.Parameters("@txtDesc").Value = txtDesc.Text
        objCmd.Parameters("@txtPrice").Value = txtPrice.Text
        objCmd.Parameters("@txtQuantity").Value = txtQuantity.Text
        objCmd.Parameters("@BookID").Value = BookID

        objCmd.ExecuteNonQuery()

Date : 2010-01-07 15:04:45 By : tungman
 


 

No. 4



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



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


objCmd.Parameters("@txtQuantity").Value = txtQuantity.Text

error
Object reference not set to an instance of an object.
Date : 2010-01-07 15:54:08 By : topflight
 


 

No. 5



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



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

แก้ไข โค้ด ตรงส่วน Update นะครับ
ให้ประ การตัวแปร private sb as new stringbulder เป็น gobal นะครับ

sb.remove(0,sb.leght)
sb.appand("update Book ")
sb.appand(" set BookISBN = '" & txtISBN.text.replace("'","''") & "',")
sb.appand(" BookName = '" & txtBookName.text.replace("'","''") & "',")
sb.appand(" BookDesc = '" & txtBookDesc .text.replace("'","''") & "',")
sb.appand(" BookPrice = '" & txtBookPrice.text.replace("'","''") & "',")
sb.appand(" BookQuantity = '" & BookQuantity.text.replace("'","''") & "',")
sb.appand(" where (BookID = '" & BookID & "')")

strSQL = sb.tostring

objCmd = New SqlCommand(strSQL, objConn)
objCmd.ExecuteNonQuery()
dvEdit.ChangeMode(DetailsViewMode.ReadOnly)
dvEdit.Visible = False
gvManage.Visible = True
gvManageBindData()

'** ระวัง type ในดาต้าเบสด้วนนะครับว่าเก็บเป็นอะไร ถ้าเป็น int
ก็ convert ให้มันเป็น int ก่อน เช่น cint(BookQuantity.text.replace("'","''") )
หรือ เป็น float ก็เป็น cdbl(txtBookPrice.text.replace("'","''") )
Date : 2010-01-07 16:29:49 By : lee_latee
 


 

No. 6



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

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

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


Quote:
txtQuantity.Text


นี่แหละ ลอง check ที่ find controls ดูว่ามันหา txtBookQuantity เจอไหม

บรรทัดผู้ต้องสงสัย
Dim txtQuantity As TextBox = CType(dvEdit.FindControl("txtBookQuantity"), TextBox)

Date : 2010-01-07 16:36:08 By : tungman
 


 

No. 7

Guest


พี่tungman ได้แล้ว นิดเดียวจริงๆ ไปcheck ที่ find controlsใหม่ มันหา txtBookQuantity ไม่เจอไหมเพราะชื่อไม่ตรงกัน code ที่ทำตอนเเรกก็ใช้ได้แล้ว
แล้วถ้าจะให้detailviewโชว์ ปุ่มupdateและcancelไม่ต้องโชว์Edit ในcommandfield ได้ไม

ขอบคุณพี่tungmanและlee_lateeมากๆ ที่ช่วยตอบ
Date : 2010-01-07 18:06:53 By : topflight
 


 

No. 8



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



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


มีปัญหาตรงคำสั่งdelete

The DELETE statement conflicted with the REFERENCE constraint "FK_PurchaseDetail_Book". The conflict occurred in database "Bookshop", table "dbo.PurchaseDetail", column 'BookID'.

เหรอต้องเขียนโค้ดให้ลบในตารางอื่นด้วยเพราะมันอ้างกันอยู่เป็นฟอเรนคีย์
Date : 2010-01-07 18:23:30 By : topflight
 


 

No. 9



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

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

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


เป็นผมจะสั่งลบทีละตาราง
Date : 2010-01-07 18:40:54 By : tungman
 


 

No. 10



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



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


ก็ลบตารางทีละตาราง แต่มันอ้างกันอยู่เลยลบไม่ได้

หรือโค้ดผิดอยู่
Code (VB.NET)
Protected Sub gvManage_RowDeleting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles gvManage.RowDeleting
        strSQL = "DELETE FROM Book WHERE BookID = '" & gvManage.DataKeys.Item(e.RowIndex).Value & "'"
        objCmd = New SqlCommand(strSQL, objConn)
        objCmd.ExecuteNonQuery()

        gvManageBindData()

    End Sub

Date : 2010-01-07 19:09:17 By : topflight
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ปัญหาคำสั่งUpdate Object reference not set to an instance of an object.
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

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