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

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



 

เกี่ยวกับการลบข้อมูล...ตรวจสอบก่อนว่าสินค้าที่เราต้องการจะลบ มันถูกอ้างถึง 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 : 1238 Reply : 5
 

 

No. 1



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

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

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

Code (VB.NET)
    Sub myRepeater_ItemCommand(ByVal source As Object, ByVal e As RepeaterCommandEventArgs) Handles myRepeater.ItemCommand
		IF e.CommandName = "Delete" Then
			'*** CustomerID ***'
			Dim lblCustomerID As Label = CType(e.Item.FindControl("lblCustomerID"),Label)

			'*** Check Anathor Table ***'
			Dim dt As New DataTable
			strSQL = "SELECT * FROM cus_order WHERE CustomerID = '"& lblCustomerID.Text &"' "
			dtAdapter = New OleDbDataAdapter(strSQL, objConn)
			dtAdapter.Fill(dt)
			IF dt.Rows.Count > 0 Then
				Me.lblErr.Text = "Can not delete"
			Else
				strSQL = "DELETE FROM customer WHERE CustomerID = '"& lblCustomerID.Text &"' "
				objCmd = New OleDbCommand(strSQL, objConn)
				objCmd.ExecuteNonQuery()
				BindData()
			End IF

		End IF
    End Sub




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


Code (VB.NET)
<%@ Import Namespace="System.Data"%>
<%@ Import Namespace="System.Data.OleDb"%>
<%@ Page Language="VB" %>
<script runat="server">

	Dim objConn As OleDbConnection
	Dim objCmd As OleDbCommand
	Dim strSQL As String
	Dim dtReader As OleDbDataReader

    Sub Page_Load(sender As Object, e As EventArgs)
		Dim strConnString As String
		strConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("database/mydatabase.mdb")&";Jet OLEDB:Database Password=;"
		objConn = New OleDbConnection(strConnString)
		objConn.Open()
		
		IF Not Page.IsPostBack() Then
			BindData()
		End IF
    End Sub

	Sub BindData()
		
		strSQL = "SELECT * FROM customer"		
		objCmd = New OleDbCommand(strSQL, objConn)
		dtReader = objCmd.ExecuteReader()
		
		'*** BindData to Repeater ***'
		myRepeater.DataSource = dtReader
		myRepeater.DataBind()

		dtReader.Close()
		dtReader = Nothing

	End Sub

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

    Sub myRepeater_ItemCommand(ByVal source As Object, ByVal e As RepeaterCommandEventArgs) Handles myRepeater.ItemCommand
		IF e.CommandName = "Delete" Then
			'*** CustomerID ***'
			Dim lblCustomerID As Label = CType(e.Item.FindControl("lblCustomerID"),Label)

			'*** Check Anathor Table ***'
			Dim dt As New DataTable
			strSQL = "SELECT * FROM cus_order WHERE CustomerID = '"& lblCustomerID.Text &"' "
			dtAdapter = New OleDbDataAdapter(strSQL, objConn)
			dtAdapter.Fill(dt)
			IF dt.Rows.Count > 0 Then
				Me.lblErr.Text = "Can not delete"
			Else
				strSQL = "DELETE FROM customer WHERE CustomerID = '"& lblCustomerID.Text &"' "
				objCmd = New OleDbCommand(strSQL, objConn)
				objCmd.ExecuteNonQuery()
				BindData()
			End IF

		End IF
    End Sub

    Sub myRepeater_ItemDataBound(ByVal sender As Object, ByVal e As RepeaterItemEventArgs) Handles myRepeater.ItemDataBound

			'*** CustomerID ***'
			Dim lblCustomerID As Label = CType(e.Item.FindControl("lblCustomerID"),Label)
			IF Not IsNothing(lblCustomerID) Then
				lblCustomerID.Text = e.Item.DataItem("CustomerID")
			End IF

			'*** Name ***'
			Dim lblName As Label = CType(e.Item.FindControl("lblName"),Label)
			IF Not IsNothing(lblName) Then
				lblName.Text = e.Item.DataItem("Name")
			End IF

			'*** Email ***'
			Dim lblEmail As Label = CType(e.Item.FindControl("lblEmail"),Label)
			IF Not IsNothing(lblEmail) Then
				lblEmail.Text = e.Item.DataItem("Email")
			End IF

			'*** CountryCode ***'
			Dim lblCountryCode As Label = CType(e.Item.FindControl("lblCountryCode"),Label)
			IF Not IsNothing(lblCountryCode) Then
				lblCountryCode.Text = e.Item.DataItem("CountryCode")
			End IF

			'*** Budget ***'
			Dim lblBudget As Label = CType(e.Item.FindControl("lblBudget"),Label)
			IF Not IsNothing(lblBudget) Then
				lblBudget.Text = e.Item.DataItem("Budget")
			End IF

			'*** Used ***'
			Dim lblUsed As Label = CType(e.Item.FindControl("lblUsed"),Label)
			IF Not IsNothing(lblUsed) Then
				lblUsed.Text = e.Item.DataItem("Used")
			End IF
			
			'*** Used ***'
			Dim lnkDelete As LinkButton = CType(e.Item.FindControl("lnkDelete"), LinkButton)
			If Not IsNothing(lnkDelete) Then
				lnkDelete.Attributes.Add("OnClick", "return confirm('Delete Record?');")
			End If
			
    End Sub

</script>
<html>
<head>
<title>ThaiCreate.Com ASP.NET - Microsoft Access</title>
</head>
<body>
	<form id="form1" runat="server">
    <asp:Repeater id="myRepeater" runat="server">
	<HeaderTemplate>
		<table border="1">
			<tr>
				<th>CustomerID</th>
				<th>Name</th>
				<th>Email</th>
				<th>CountryCode</th>
				<th>Budget</th>
				<th>Used</th>
				<th>Delete</th>
			</tr>
	</HeaderTemplate>
	<ItemTemplate>
		<tr>
			<td align="center"><asp:Label id="lblCustomerID" runat="server"></asp:Label></td>
			<td><asp:Label id="lblName" runat="server"></asp:Label></td>
			<td><asp:Label id="lblEmail" runat="server"></asp:Label></td>
			<td align="center"><asp:Label id="lblCountryCode" runat="server"></asp:Label></td>
			<td align="right"><asp:Label id="lblBudget" runat="server"></asp:Label></td>
			<td align="right"><asp:Label id="lblUsed" runat="server"></asp:Label></td>
			<td align="right"><asp:LinkButton id="lnkDelete" CommandName="Delete" runat="server">Delete</asp:LinkButton></td>			
		</tr>			
	</ItemTemplate>
	</asp:Repeater>
	</form>
</body>
</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 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 03
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 อัตราราคา คลิกที่นี่