Hejsan! Jag har gjort en databas men hur får jag lagt till en sånn funktion som raderar en rad från databasen? Jag lägger min kod här: Du gör som du har gjort innan, men du måste ändra SQL:en. men måste jag inte göra en ny sub rutin? Tänkte att på alla rader så finns en Ta bort knapp! Om du nu skall ha en knapp för varje rad, då skulle jag föreslå att du istället ha en kryssruta, och kan Du kan även använda IN i din SQL sats om du vill radera flera värden på en gång.Radera ur databas!!
Tack för hjälpen i förhand!
<code>
<%@ Page Language="VB" Debug="true" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.Oledb" %>
<html>
<title>D-jun nyheter</title>
<head>
<script language="VB" runat="server">
Sub Page_Load(sender As Object, e As EventArgs)
uppdatera()
End Sub
Sub uppdatera()
Dim sPath As String = Server.MapPath("\vestlin\db\d-jun.mdb")
Dim connString As String = "Provider=Microsoft.Jet.OLEDB.4.0; DATA Source=" & sPath & ";"
Dim objConn As OleDbConnection
Dim cmdSelect As OleDbCommand
Dim dtrReader As OleDbDataReader
objConn = New OleDbConnection( connString )
objConn.Open()
cmdSelect= New OleDbCommand("select * from Table1 ORDER BY id DESC", objConn)
dtrReader= cmdSelect.ExecuteReader(CommandBehavior.CloseConnection)
bjorn.DataSource=dtrReader
bjorn.DataBind()
End Sub
Sub nytt_click(sender As Object, e As EventArgs)
Dim sPath As String = Server.MapPath("\vestlin\db\d-jun.mdb")
Dim connString As String = "Provider=Microsoft.Jet.OLEDB.4.0; DATA Source=" & sPath & ";"
Dim objConn As OleDbConnection
Dim cmdSelect As OleDbCommand
objConn = New OleDbConnection( connString )
cmdSelect= New OleDbCommand("INSERT INTO Table1(rubrik,nyheter) VALUES ('"& rubrik.Text & "','" & nyheter.Text & "')", objConn)
objConn.Open()
cmdSelect.ExecuteNonQuery()
objConn.Close()
uppdatera()
End Sub
</script>
</head>
<body>
Tillbaka
<form runat="server">
<table width="315" border="2" bordercolor="#000000" bgcolor="#FFFFFF">
<tr>
<td><font face="Arial" size="2">Rubrik:</font></td>
<td><asp:TextBox ID="rubrik" runat="server"/></td>
</tr>
<tr>
<td><font face="Arial" size="2">Nyheter:</font></td>
<td><asp:textbox id="nyheter" textmode="multiline" height="50" width="530" runat="server"/></td>
</tr>
<tr>
<td></td>
<td><asp:button id="nytt" onClick="nytt_click" Text="Skicka" runat="server"/></td>
</tr>
</table>
</form>
<p> </p>
<asp:DataList ID=bjorn runat="server" CellPadding="5" CellSpacing="2" Width="600">
<headertemplate>
</headertemplate>
<headerstyle BackColor="#FFFFFF" BorderStyle="5" BorderColor="#FFFFFF"></headerstyle>
<itemtemplate><font face="Arial" size="3"><br>
<b><%# DataBinder.Eval(Container.DataItem,"rubrik")%></b><br><br>
<%# DataBinder.Eval(Container.DataItem,"nyheter")%><br><br>
<hr>
</font> </itemtemplate>
<itemstyle BackColor="#FFFFFF" BorderStyle="5" BorderWidth="2" BorderColor="#FFFFFF"></itemstyle>
</asp:DataList>
<FONT SIZE=4 FACE=ARIAL COLOR="#000000">
</body>
</html>
</asp>
</code>Sv: Radera ur databas!!
<code>
"DELETE FROM t_Tabelen WHERE Id ="& Request("Id")
</code>
I detta fallet så måste du veta vilket id som du vill ta bort.Sv:Radera ur databas!!
Sv: Radera ur databas!!
alltså deleta många på en gång. Då bör du lägga in idt i kryssrutans value, och sen en ny parameter i
din subrutin, som kan ta imot din parameter. Därefter så splitar du det inkommande värdet , kör en loop
så att du kan deleta alla inkommande värdena.
På ett ungefär så tror jag att det borde fungera.Sv:Radera ur databas!!
Sparar en del prestanda och blir lite mindre kod att skriva.
//Anna-Karin