日期:2009-09-21  浏览次数:20379 次

<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SQL" %>

<HTML>

<script language="VB" runat="server">

Dim MyConnection As SQLConnection

Sub Page_Load(Src As Object, E As EventArgs)

MyConnection = New SQLConnection("server=YOUR-SERVER;uid=joeuser;pwd=joeuser;database=pubs")

If Not (IsPostBack)
BindGrid()
End If
End Sub

Sub MyDataGrid_Delete(Sender As Object, E As DataGridCommandEventArgs)

Dim MyCommand As SQLCommand
Dim DeleteCmd As String = "DELETE from Authors where au_id = @Id"

MyCommand = New SQLCommand(DeleteCmd, MyConnection)
MyCommand.Parameters.Add(New SQLParameter("@Id", SQLDataType.VarChar, 11))
MyCommand.Parameters("@Id").Value = MyDataGrid.DataKeys(CInt(E.Item.ItemIndex))

MyCommand.ActiveConnection.Open()

Try
MyCommand.ExecuteNonQuery()
Message.InnerHTML = "<b>Record Deleted</b><br>" & DeleteCmd
Catch Exp As SQLException
Message.InnerHTML = "ERROR: Could not delete record"
Message.Style("color") = "red"
End Try

MyCommand.ActiveConnection.Close()

BindGrid()
End Sub

Sub BindGrid()

Dim DS As DataSet
Dim MyCommand As SQLDataSetCommand
MyCommand = New SQLDataSetCommand("select * from Authors", MyConnection)

DS = new DataSet()
MyCommand.FillDataSet(DS, "Authors")

MyDataGrid.DataSource=DS.Tables("Authors").DefaultView
MyDataGrid.DataBind()
End Sub

</script>

<body style="font: 10pt verdana">

<form runat="server">

<h3><font face="Verdana">Deleting a Row of Data</font></h3>

<span id="Message" MaintainState="false" style="font: arial 11pt;" runat="server"/><p>

<ASP:DataGrid id="MyDataGrid" runat="server"
Width="800"
BackColor="#ccccff"
BorderColor="black"
ShowFooter="false"
CellPadding=3
CellSpacing="0"
Font-Name="Verdana"
Font-Size="8pt"
HeaderStyle-BackColor="#aaaadd"
DataKeyField="au_id"
OnDeleteCommand="MyDataGrid_Delete"
>

<property name="Columns">
<ASP:ButtonColumn Text="Delete Author" CommandName="Delete"/>
</property>

</ASP:DataGrid>

</form>

</body>
</HTML>