datagrid中数据已经删除,但为什么还是会显示
飘动的风 2003-02-12 04:43:06
当按下”删除“,数据庫中的记录已经删除,在页面上还是能显示被删除的记录,如果刷新之后就没了,这是怎么回是,是不是要在删除后,重新建立数据源,然后重新梆定到datagrid!但这样做觉得有点烦!
代码如下:
-----------------------------------------------------------------------
<%@ Page Language="VB" Debug="True" EnableViewState="True" %>
<%@ Register TagPrefix="wmx" Namespace="Microsoft.Saturn.Framework.Web.UI" Assembly="Microsoft.Saturn.Framework, Version=0.5.464.0, Culture=neutral, PublicKeyToken=6f763c9966660626" %>
<%@ import Namespace="system.data" %>
<%@ import Namespace="system.data.sqlclient" %>
<script runat="server">
'*****************************************
'Del Email by EmailID
'*************************************
Function DelEmail(ByVal emailID As Integer) As Integer
Dim connectionString As String = "server='localhost'; user id='sa'; password=''; Database='asp.net'"
Dim sqlConnection As System.Data.SqlClient.SqlConnection = New System.Data.SqlClient.SqlConnection(connectionString)
Dim queryString As String = "DELETE FROM [EmailUser] WHERE ([EmailUser].[EmailID] = @EmailID)"
Dim sqlCommand As System.Data.SqlClient.SqlCommand = New System.Data.SqlClient.SqlCommand(queryString, sqlConnection)
sqlCommand.Parameters.Add("@EmailID", System.Data.SqlDbType.Int).Value = emailID
Dim rowsAffected As Integer = 0
sqlConnection.Open
Try
rowsAffected = sqlCommand.ExecuteNonQuery
Finally
sqlConnection.Close
End Try
Return rowsAffected
End Function
Sub Page_Load(Src As Object, e As EventArgs)
Dim connectionString As String = "server='localhost'; user id='sa'; password=''; Database='asp.net'"
Dim sqlConnection As System.Data.SqlClient.SqlConnection = New System.Data.SqlClient.SqlConnection(connectionString)
Dim sqlstr as string="select * from EmailUser"
Dim emailsqlcommand as new sqlcommand(sqlstr,sqlConnection)
emailsqlcommand.Connection.Open()
Dim myReader As SqlDataReader = emailsqlcommand.ExecuteReader()
DataGrid1.datasource=myReader
if not Page.IsPostBack then
DataGrid1.databind()
end if
end sub
Sub BtnDelEmail_Click(sender As Object, e As EventArgs)
Dim i as integer
Dim result As integer
result=0
for i=0 to DataGrid1.Items.Count-1
If CType(DataGrid1.Items(i).FindControl("ChkDel"), CheckBox).Checked Then ' 只取选定时的值
result=result+DelEmail(cint(DataGrid1.Items(i).Cells(4).Text))
'LbeCk.text=LbeCk.text+DataGrid1.Items(i).Cells(4).Text
End If
next
DataGrid1.databind()
End Sub
</script>
<html>
<head>
</head>
<body>
<p>
</p>
<form runat="server">
<asp:DataGrid id="DataGrid1" runat="server" AutoGenerateColumns="False" BorderStyle="None" BorderWidth="1px" BorderColor="#CC9966" BackColor="White" CellPadding="4">
<FooterStyle forecolor="#330099" backcolor="#FFFFCC"></FooterStyle>
<HeaderStyle font-bold="True" forecolor="#FFFFCC" backcolor="#990000"></HeaderStyle>
<PagerStyle horizontalalign="Center" forecolor="#330099" backcolor="#FFFFCC"></PagerStyle>
<SelectedItemStyle font-bold="True" forecolor="#663399" backcolor="#FFCC66"></SelectedItemStyle>
<ItemStyle forecolor="#330099" backcolor="White"></ItemStyle>
<Columns>
<asp:TemplateColumn HeaderText="主题">
<HeaderTemplate>
<img src="http://www.dev-club.com/club/bbs/images/emote/mood24.gif" />
</HeaderTemplate>
<ItemTemplate>
<img src="http://www.dev-club.com/club/bbs/images/emote/mood24.gif" />
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="主题">
<ItemTemplate>
<asp:HyperLink id="HyperLink1" runat="server" Text='<%# left(DataBinder.Eval(Container,"DataItem.Email"),10) %>' ToolTip='<%# DataBinder.Eval(Container, "DataItem.Email") %>' NavigateUrl='<%# DataBinder.Eval(Container, "DataItem.EmailID","/sendemail/Edit_Emailsss.aspx?id={0}") %>' Target="_parent"></asp:HyperLink>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="删除">
<HeaderTemplate>
<asp:CheckBox id="ChkDelAll" runat="server"></asp:CheckBox>
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox id="ChkDel" runat="server" ></asp:CheckBox>
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn DataField="email" HeaderText="email">
<HeaderStyle horizontalalign="Center"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn Visible="False" DataField="EmailID" HeaderText="id"></asp:BoundColumn>
</Columns>
</asp:DataGrid>
<hr />
<asp:Button id="BtnDelEmail" onclick="BtnDelEmail_Click" runat="server" Text="删除"></asp:Button>
</form>
</body>
</html>