数据不从数据库中删除 [英] Data not deleting from database
本文介绍了数据不从数据库中删除的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
当我点击按钮时,它现在从数据库中删除数据有什么问题。
What is wrong it now delete data from the database when I click the button.
Private Sub Unassign_ButtonClicked(sender As Object, e As AxnImageButtonEventArgs) Handles Unassign.ButtonClicked
If PagesAssigned.SelectedItem Is Nothing OrElse PagesAssigned.SelectedValue.CompareTo("") = 0 Then
Message.Text = "Please select page to unassign"
Message.ForeColor = Color.Red
Exit Sub
End If
Dim conn1 As New SqlConnection(WebFrameworkConnection.GetConnectionString())
For Each pagename As ListItem In PagesAssigned.Items
If pagename.Selected Then
Try
conn1.Open()
Dim stmt1 As New SqlCommand("select pageid from dbo.pagedefinition where pageaspx = @pagename and pageparameters = @pageparameters", conn1)
stmt1.Parameters.Add("@pagename", SqlDbType.VarChar, 255).Value = SelectedPage(pagename.Text)
stmt1.Parameters.Add("@pageparameters", SqlDbType.VarChar, 255).Value = SelectedParameters(pagename.Text)
Dim pageid As Integer = stmt1.ExecuteScalar
conn1.Close()
conn1.Open()
Dim stmt2 As New SqlCommand("delete from dbo.pagesecurity where pageid = @pageid and rolename = @rolename", conn1)
stmt2.Parameters.Add("@pageid", SqlDbType.BigInt).Value = pageid
stmt2.Parameters.Add("@rolename", SqlDbType.VarChar, 256).Value = RoleList.SelectedValue
stmt2.ExecuteNonQuery()
conn1.Close()
If CleanUpAccessFailed(pageid, RoleList.SelectedValue) Then
Message.Text = "Parent Cleanup Failed, Page NOT Deleted"
Message.ForeColor = Color.Red
conn1.Open()
Dim stmt3 As New SqlCommand("insert into dbo.pagesecurity (pageid,rolename) values (@pageid,@rolename)", conn1)
stmt3.Parameters.Add("@pageid", SqlDbType.BigInt).Value = pageid
stmt3.Parameters.Add("@rolename", SqlDbType.VarChar, 256).Value = RoleList.SelectedValue
stmt3.ExecuteNonQuery()
conn1.Close()
Else
Message.Text = "Page Successfully Removed from Role"
Message.ForeColor = Color.Blue
End If
Catch ex As Exception
Message.Text = "Page Failed Removal from Role"
Message.ForeColor = Color.Red
Finally
conn1.Close()
End Try
End If
Next
RefreshPageLists()
End Sub
推荐答案
根据你的代码,只需编写如下参数:
As per your code just write parameters like that:
conn1.Open()
Dim stmt1 As New SqlCommand("select pageid from dbo.pagedefinition where pageaspx = @pagename and pageparameters = @pageparameters", conn1)
stmt1.Parameters.Add("@pagename", SqlDbType.VarChar, 255).Value = SelectedPage(pagename.Text)
stmt1.Parameters.Add("@pageparameters", SqlDbType.VarChar, 255).Value = SelectedParameters(pagename.Text)
Dim pageid As Integer = stmt1.ExecuteScalar
conn1.Close()
conn1.Open()
Dim stmt2 As New SqlCommand("delete from dbo.pagesecurity where pageid = '" + pageid + "' and rolename = '" + RoleList.SelectedValue + "' ", conn1)
stmt2.Parameters.Add("@pageid", pageid);
stmt2.Parameters.Add("@rolename", RoleList.SelectedValue)
stmt2.ExecuteNonQuery()
conn1.Close()
注意:如果需要进行一些对话,请与参数字段进行一些对话。
谢谢你......: - )
Note: If their is require some conversation then please make some conversation with parameter field.
Thank You.....:-)
谢谢你我决定以不同的方式解决这个问题。我决定将所有菜单项加载到列表中,如果未分配用户安全性,则从列表中删除页面。
Thank you I have decide to tackle this a different way. I decide to load all the menu items into a list and remove pages from the list if user security is not assigned.
这篇关于数据不从数据库中删除的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文