Jag har en länksida på min site där man kan anmäla sig via ett webmailformulär om man vill vara med på den med sin hemsidelänk. Och när jag har kollat siten som vill vara med så har
jag en linkinput sida där jag lägger till länkarna. Länkarna finns i en MS SQL DB, som heter Links
och i den tabellen finns kolumnerna ID som integer, rubrik som Char och text som varchar.
Nu vill jag ju även kunna göra en sida där jag kan ta bort länkarna som inte längre
fungerar. Så just nu håller jag på att jobba med med deletelinksidan.
Jag använder mig utav asp.net programmet Web Matrix och har använt mig utav Code wizarden: Delete data Method
för att skapa koden här nedan.
Det jag behöver hjälp med är att kunna först se alla länkar och att sedan kunna välja ut någon av dem och ta bort den
dirket ifrån den aspx sidan.
Antar att man kan sätta dit en datagrid, men hur kopplar jag ihop den med Databasen?
Någon som har lust att hjälpa mig?
Koden:
Function MyDeleteMethod() As Integer
Dim connectionString As String = "server='xxxxx'; user id='xxxx'; password='xxxx'"& _
"; database='H_sannessite'"
Dim dbConnection As System.Data.IDbConnection = New System.Data.SqlClient.SqlConnection(connectionString)
Dim queryString As String = "DELETE From Links Where ID = " & Request.Querystring("id")
Dim dbCommand As System.Data.IDbCommand = New System.Data.SqlClient.SqlCommand
dbCommand.CommandText = queryString
dbCommand.Connection = dbConnection
Dim rowsAffected As Integer = 0
dbConnection.Open
Try
rowsAffected = dbCommand.ExecuteNonQuery
Finally
dbConnection.Close
End Try
Return rowsAffected
End Function
Sub btnSave_Click(sender As Object, e As EventArgs)
FormsAuthentication.SignOut()
Tack på förhand!
Mvh Sanne
Response.Redirect("utloggad.aspx")
End Sub
Hejsan!
Hittade en bra datagrid på nätet som har en delete länk i formuläret, och har koden nästan färdig, någon som kan hjälpa mig koppla ihop dessa så att jag kan välja ut en av mina länkar och ta bort dessa:
Koden ser ut så här nu:
<%@ Page Language="VB" %>
<script runat="server">
Function MyDeleteMethod() As Integer
Dim connectionString As String = "xxxxxxxx'; user id='xxx'; password='xxxxx'"& \_
"; database='xxxx'"
Dim dbConnection As System.Data.IDbConnection = New System.Data.SqlClient.SqlConnection(connectionString)
Dim queryString As String = "DELETE From Links Where ID = " & Request.Querystring("id")
Dim dbCommand As System.Data.IDbCommand = New System.Data.SqlClient.SqlCommand
dbCommand.CommandText = queryString
dbCommand.Connection = dbConnection
Dim rowsAffected As Integer = 0
dbConnection.Open
Try
rowsAffected = dbCommand.ExecuteNonQuery
Finally
dbConnection.Close
End Try
Return rowsAffected
End Function
Sub btnSave_Click(sender As Object, e As EventArgs)
FormsAuthentication.SignOut()
Response.Redirect("utloggad.aspx")
End Sub
nu kan inte jag MS SQL DB.. så den delen kanske inte funkar..
men jag använde en datalist istället:
<%@ Page Language="VB" Debug="True"%>
<script runat="server">
Sub LinkList_DeleteCommand(Sender as object, e as DataListCommandEventArgs)
Dim Id As String = CType(e.Item.FindControl("lblID"), Label).Text
Dim connectionString As String = "xxxxxxxx'; user id='xxx'; password='xxxxx'"& _
"; database='xxxx'"
Dim dbConnection As System.Data.IDbConnection = New System.Data.SqlClient.SqlConnection(connectionString)
Dim queryString As String = "DELETE * FROM Links WHERE ID = " & Id
Dim dbCommand As System.Data.IDbCommand = New System.Data.SqlClient.SqlCommand
dbCommand.CommandText = queryString
dbCommand.Connection = dbConnection
Dim rowsAffected As Integer = 0
Try
dbConnection.Open
rowsAffected = dbCommand.ExecuteNonQuery
If rowsAffected <> 0 Then
lblMessage.Text = "Länken togs bort!"
Else
lblMessage.Text = "Länken togs INTE bort!"
End If
LinkList.EditItemIndex = -1
FillDataList() 'bind om data igen
Catch ex As Exception
'# Errorhantering, logga felmeddelande !!
lblMessage.Text = ex.ToString
Finally
dbConnection.Close
End Try
End Sub
Sub btnSave_Click(sender As Object, e As EventArgs)
FormsAuthentication.SignOut()
Response.Redirect("utloggad.aspx")
End Sub
</script>
<html>
<head>
</head>
<body>
<form runat="server">
<asp:DataList id="LinkList" runat="server" OnDeleteCommand="LinkList_DeleteCommand">
<itemtemplate>
<asp:Label id="lblID" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "link_ID")%>'/>
<asp:Label id="lblLinkName" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "link_name")%>'/>
<asp:Label id="lblLinkUrl" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "link_url")%>'/>
<asp:LinkButton id="lbtDelete" runat="server" Text="Ta Bort" CommandName="Delete"/>
</itemtemplate>
</asp:DataList>
<asp:Button id="btnSave" onclick="btnSave_Click" runat="server" Text="Spara"/>
</form>
</body>
</html>