请问:在用户控件中更新数据库的问题?
请问:我在单击了提交按钮后为什么不能更新数据库,在执行Page_Load事件时也不能读取数据库中的内容,是哪的错?
make_notice.ascx文件如下:
<%@ Import NameSpace="System.Data"%>
<%@ Import NameSpace="System.Data.OLeDb"%>
<script language="vb" runat="server">
Sub Page_Load(Sender As Object,E As EventArgs)
If Not Page.IsPostBack Then
Dim conn As New OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;Data Source=" & Server.MapPath("data.mdb"))
Dim cmd As New OleDbCommand("Select * from 辅助设置 Where 用户名='goodsun'",conn)
conn.Open()
Dim dr As OleDbDataReader=cmd.ExecuteReader()
If dr.Read() Then
Text1.Text=dr.Item("公告栏")
End If
conn.Close()
End If
End Sub
Sub update_Click(Sender As Object,E As EventArgs)
Dim conn As New OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;Data Source=" & Server.MapPath("data.mdb"))
Dim cmd As New OleDbCommand("update 辅助设置 set 公告栏='" & Text1.Text & "' Where 用户名='goodsun'",conn)
conn.Open()
cmd.ExecuteNonQuery()
conn.Close()
End Sub
</script>
<table>
<tr>
<td>
公告栏信息:
<asp:TextBox ID="text1" runat="server"/><br>
<asp:Button ID="update" Text="提交" runat="server" OnClick="update_Click"/>
</td>
</tr>
</table>
makeWeb文件:
<%@ Register TagPrefix="myControl" TagName="notice" Src="make_notice.ascx"%>
<%@ Import NameSpace="System.Data" %>
<%@ Import NameSpace="System.Data.OleDb" %>
<script language="vb" runat="server">
Private Sub button1_Click(Sender As Object,E As EventArgs)
Panel1.Controls.Add(Page.LoadControl("make_notice.ascx"))
End Sub
</script>
<body>
<form runat="server">
<asp:button id="button1" runat="server" onClick="button1_Click"/>
<table width="100%"border="1">
<tr>
<td align="center">
<asp:Panel id="Panel1" runat="server"
BackColor="gainsboro" Width="100%" Height="400" Visible="true">
</asp:Panel>
</td>
</tr>
</table>
</form>
</body>
</html>