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,038

HOME > .NET Framework > Forum > เกี่ยวกับการลบข้อมูล...ตรวจสอบก่อนว่าสินค้าที่เราต้องการจะลบ มันถูกอ้างถึง table อื่นหรือไม่


 

[.NET] เกี่ยวกับการลบข้อมูล...ตรวจสอบก่อนว่าสินค้าที่เราต้องการจะลบ มันถูกอ้างถึง table อื่นหรือไม่

 
Topic : 031935

Guest



คือว่าต้องการจะลบข้อมูลในหน้าสินค้านะค่ะ แต่คราวนี้มีปัญหาก็คือว่า ก่อนจะลบ ต้องมีการตรวจสอบก่อนว่าสินค้าที่เราต้องการจะลบ มันถูกอ้างถึง table อื่นหรือไม่ ถ้าไม่ถูกอ้างถึงให้ลบได้ แต่ถ้าถูกอ้างถึงจะมี msgbox มาเตือนว่าไม่สามารถลบได้ค่ะ ยังไงช่วยหน่อยนะค่ ติดมาหลายวันแล้ว ขอบคุณค่ะ

*** ใช้ vb.net 2008 ฐานข้อมูล sql server 2005 ***



Tag : - - - -

Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2009-09-20 14:40:08 By : โปรเจคจบ View : 1309 Reply : 5
 

 

No. 1



โพสกระทู้ ( 74,059 )
บทความ ( 838 )

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

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

Code (VB.NET)
01.Sub myRepeater_ItemCommand(ByVal source As Object, ByVal e As RepeaterCommandEventArgs) Handles myRepeater.ItemCommand
02.    IF e.CommandName = "Delete" Then
03.        '*** CustomerID ***'
04.        Dim lblCustomerID As Label = CType(e.Item.FindControl("lblCustomerID"),Label)
05. 
06.        '*** Check Anathor Table ***'
07.        Dim dt As New DataTable
08.        strSQL = "SELECT * FROM cus_order WHERE CustomerID = '"& lblCustomerID.Text &"' "
09.        dtAdapter = New OleDbDataAdapter(strSQL, objConn)
10.        dtAdapter.Fill(dt)
11.        IF dt.Rows.Count > 0 Then
12.            Me.lblErr.Text = "Can not delete"
13.        Else
14.            strSQL = "DELETE FROM customer WHERE CustomerID = '"& lblCustomerID.Text &"' "
15.            objCmd = New OleDbCommand(strSQL, objConn)
16.            objCmd.ExecuteNonQuery()
17.            BindData()
18.        End IF
19. 
20.    End IF
21.End Sub




ตัวอย่าวเต็ม ๆ น่ะครับ


Code (VB.NET)
001.<%@ Import Namespace="System.Data"%>
002.<%@ Import Namespace="System.Data.OleDb"%>
003.<%@ Page Language="VB" %>
004.<script runat="server">
005. 
006.    Dim objConn As OleDbConnection
007.    Dim objCmd As OleDbCommand
008.    Dim strSQL As String
009.    Dim dtReader As OleDbDataReader
010. 
011.    Sub Page_Load(sender As Object, e As EventArgs)
012.        Dim strConnString As String
013.        strConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("database/mydatabase.mdb")&";Jet OLEDB:Database Password=;"
014.        objConn = New OleDbConnection(strConnString)
015.        objConn.Open()
016.         
017.        IF Not Page.IsPostBack() Then
018.            BindData()
019.        End IF
020.    End Sub
021. 
022.    Sub BindData()
023.         
024.        strSQL = "SELECT * FROM customer"      
025.        objCmd = New OleDbCommand(strSQL, objConn)
026.        dtReader = objCmd.ExecuteReader()
027.         
028.        '*** BindData to Repeater ***'
029.        myRepeater.DataSource = dtReader
030.        myRepeater.DataBind()
031. 
032.        dtReader.Close()
033.        dtReader = Nothing
034. 
035.    End Sub
036. 
037.    Sub Page_UnLoad()
038.        objConn.Close()
039.        objConn = Nothing
040.    End Sub
041. 
042.    Sub myRepeater_ItemCommand(ByVal source As Object, ByVal e As RepeaterCommandEventArgs) Handles myRepeater.ItemCommand
043.        IF e.CommandName = "Delete" Then
044.            '*** CustomerID ***'
045.            Dim lblCustomerID As Label = CType(e.Item.FindControl("lblCustomerID"),Label)
046. 
047.            '*** Check Anathor Table ***'
048.            Dim dt As New DataTable
049.            strSQL = "SELECT * FROM cus_order WHERE CustomerID = '"& lblCustomerID.Text &"' "
050.            dtAdapter = New OleDbDataAdapter(strSQL, objConn)
051.            dtAdapter.Fill(dt)
052.            IF dt.Rows.Count > 0 Then
053.                Me.lblErr.Text = "Can not delete"
054.            Else
055.                strSQL = "DELETE FROM customer WHERE CustomerID = '"& lblCustomerID.Text &"' "
056.                objCmd = New OleDbCommand(strSQL, objConn)
057.                objCmd.ExecuteNonQuery()
058.                BindData()
059.            End IF
060. 
061.        End IF
062.    End Sub
063. 
064.    Sub myRepeater_ItemDataBound(ByVal sender As Object, ByVal e As RepeaterItemEventArgs) Handles myRepeater.ItemDataBound
065. 
066.            '*** CustomerID ***'
067.            Dim lblCustomerID As Label = CType(e.Item.FindControl("lblCustomerID"),Label)
068.            IF Not IsNothing(lblCustomerID) Then
069.                lblCustomerID.Text = e.Item.DataItem("CustomerID")
070.            End IF
071. 
072.            '*** Name ***'
073.            Dim lblName As Label = CType(e.Item.FindControl("lblName"),Label)
074.            IF Not IsNothing(lblName) Then
075.                lblName.Text = e.Item.DataItem("Name")
076.            End IF
077. 
078.            '*** Email ***'
079.            Dim lblEmail As Label = CType(e.Item.FindControl("lblEmail"),Label)
080.            IF Not IsNothing(lblEmail) Then
081.                lblEmail.Text = e.Item.DataItem("Email")
082.            End IF
083. 
084.            '*** CountryCode ***'
085.            Dim lblCountryCode As Label = CType(e.Item.FindControl("lblCountryCode"),Label)
086.            IF Not IsNothing(lblCountryCode) Then
087.                lblCountryCode.Text = e.Item.DataItem("CountryCode")
088.            End IF
089. 
090.            '*** Budget ***'
091.            Dim lblBudget As Label = CType(e.Item.FindControl("lblBudget"),Label)
092.            IF Not IsNothing(lblBudget) Then
093.                lblBudget.Text = e.Item.DataItem("Budget")
094.            End IF
095. 
096.            '*** Used ***'
097.            Dim lblUsed As Label = CType(e.Item.FindControl("lblUsed"),Label)
098.            IF Not IsNothing(lblUsed) Then
099.                lblUsed.Text = e.Item.DataItem("Used")
100.            End IF
101.             
102.            '*** Used ***'
103.            Dim lnkDelete As LinkButton = CType(e.Item.FindControl("lnkDelete"), LinkButton)
104.            If Not IsNothing(lnkDelete) Then
105.                lnkDelete.Attributes.Add("OnClick", "return confirm('Delete Record?');")
106.            End If
107.             
108.    End Sub
109. 
110.</script>
111.<html>
112.<head>
113.<title>ThaiCreate.Com ASP.NET - Microsoft Access</title>
114.</head>
115.<body>
116.    <form id="form1" runat="server">
117.    <asp:Repeater id="myRepeater" runat="server">
118.    <HeaderTemplate>
119.        <table border="1">
120.            <tr>
121.                <th>CustomerID</th>
122.                <th>Name</th>
123.                <th>Email</th>
124.                <th>CountryCode</th>
125.                <th>Budget</th>
126.                <th>Used</th>
127.                <th>Delete</th>
128.            </tr>
129.    </HeaderTemplate>
130.    <ItemTemplate>
131.        <tr>
132.            <td align="center"><asp:Label id="lblCustomerID" runat="server"></asp:Label></td>
133.            <td><asp:Label id="lblName" runat="server"></asp:Label></td>
134.            <td><asp:Label id="lblEmail" runat="server"></asp:Label></td>
135.            <td align="center"><asp:Label id="lblCountryCode" runat="server"></asp:Label></td>
136.            <td align="right"><asp:Label id="lblBudget" runat="server"></asp:Label></td>
137.            <td align="right"><asp:Label id="lblUsed" runat="server"></asp:Label></td>
138.            <td align="right"><asp:LinkButton id="lnkDelete" CommandName="Delete" runat="server">Delete</asp:LinkButton></td>          
139.        </tr>        
140.    </ItemTemplate>
141.    </asp:Repeater>
142.    </form>
143.</body>
144.</html>

Date : 2009-09-20 16:21:48 By : webmaster
 

 

No. 2



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



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


แนะนำเพิ่มเติมนะครับในกรณีที่ เรามีอยู่หลายตาราง
ให้เราใช้การ Union

เช่น
SELECT * FROM cus_order WHERE CustomerID = lblCustomerID.Text
union
select * from cus_order_detail where CustomerID = lblCustomerID.Text

แล้ว ก็มา Count นับจำนวน
Date : 2009-09-21 11:19:41 By : taobsd
 

 

No. 3



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



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


ยังไม่ได้เลยอ่ะค่ะ ขอคำแนะนำอื่นอีกได้ไหมค่ะ ใช้ vb.net ขอบคุณค่ะ
Date : 2009-09-22 12:29:45 By : srilai
 

 

No. 4



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



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


ได้แล้วค่ะ ขอบคุณค่ะ
Date : 2009-09-26 13:44:52 By : srilai
 

 

No. 5

Guest


หนูงงกะโค้ด
หนูก็อยากได้อะค่ะโค้ดคือแบบว่าก่อนเราจะลบข้อมูลก็ให้เราตวรจสอบก่อนว่ามีข้อมูลอ้างอิงอยู่รึป่าวถ้าไม่มีก็หใลบได้ คือว่าเพิ่งหัดเขียนโค้ดอะค่ะอ่านโค้ดที่มีข้างบนแล้วงง
Date : 2011-03-12 17:58:31 By : NIng
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : เกี่ยวกับการลบข้อมูล...ตรวจสอบก่อนว่าสินค้าที่เราต้องการจะลบ มันถูกอ้างถึง table อื่นหรือไม่
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)





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