李国帅于2008年
集成连接对象,在grid单元位置放置一个textbox,看上去就像是直接在grid上更改。
<%@ Import Namespace="System.Data" %> <%@ Import Namespace="System.Data.OleDb" %> <Script Languate="VB" Runat="Server">
Function CreateDataSet(strSQL As String, FileName As String, TableName As String) As DataSet Dim ConnString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(FileName) Dim objCmd As New OleDbDataAdapter(strSQL, ConnString) Dim DS As New DataSet() objCmd.Fill(DS, TableName) CreateDataSet = DS End Function Sub BindList() Dim strSQL As String = "Select Top 5 d_bookname As 书名,d_author As 作者,profession_no As 适用专业,d_id From t_source" myDataList.DataSource = CreateDataSet(strSQL, "ssyyrr.mdb", "教学参考书") myDataList.DataMember="教学参考书" myDataList.DataBind() End Sub Sub Page_Load(sender As Object, e As Eventargs) If Not IsPostBack Then BindList() End Sub Sub DataList_EditCommand(sender As Object, e As DataListCommandEventArgs) myDataList.EditItemIndex = e.Item.ItemIndex BindList() End Sub Sub DataList_CancelCommand(sender As Object, e As DataListCommandEventArgs) myDataList.EditItemIndex = -1 BindList() End Sub Sub ExecuteSQL(strSQL As String) Dim objConn As New OleDbConnection() objConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("Ssyyrr.mdb") objConn.Open() Dim objCmd As New OleDbCommand(strSQL, objConn) objCmd.ExecuteNonQuery End Sub Sub DataList_DeleteCommand(sender As Object, e As DataListCommandEventArgs) Dim strSQL As String = "Delete From t_source Where " & myDataList.DataKeyField & "=" & myDataList.DataKeys(e.Item.ItemIndex) ExecuteSQL(strSQL) myDataList.EditItemIndex = -1 BindList() End Sub Sub DataList_UpdateCommand(sender As Object, e As DataListCommandEventArgs) Dim d_bookname As String = CType(e.Item.FindControl("d_bookname"), TextBox).Text Dim d_author As String = Ctype(e.Item.FindControl("d_author"), TextBox).Text Dim profession_no As String = Ctype(e.Item.FindControl("profession_no"), TextBox).Text Dim strSQL As String = "Update t_source Set d_bookname='" & d_bookname & "',d_author ='" & d_author & "',profession_no ='" & profession_no & "' Where " & myDataList.DataKeyField & "=" & myDataList.DataKeys(e.Item.ItemIndex) ExecuteSQL(strSQL) myDataList.EditItemIndex = -1 BindList() End Sub
</Script> <Html> <Body BgColor="#ffffcc"> <H1 Align="Center">教学参考书管理系统</H1> <Form Runat="Server"> <Asp:DataList Runat="Server" Id="myDataList" CellPadding="3" Width="700" HorizontalAlign="Center" OnEditCommand="DataList_EditCommand" OnUpdateCommand="DataList_UpdateCommand" OnDeleteCommand="DataList_DeleteCommand" OnCancelCommand="DataList_CancelCommand" DataKeyField="d_id" ExtractTemplateRows="True" Border="1" BorderColor="#ffffcc" GridLines="Horizontal"> <HeaderTemplate> <Asp:Table Runat="Server"> <Asp:TableRow Runat="Server" HorizontalAlign="Center"> <Asp:TableCell Runat="Server">书名</Asp:TableCell> <Asp:TableCell Runat="Server">作者</Asp:TableCell> <Asp:TableCell Runat="Server">适用专业 </Asp:TableCell><Asp:TableCell Runat="Server">操作</Asp:TableCell> </Asp:TableRow> </Asp:Table> </HeaderTemplate> <ItemTemplate> <Asp:Table Runat="Server"> <Asp:TableRow Runat="Server" HorizontalAlign="Left"> <Asp:TableCell Runat="Server"><%# Container.DataItem("书名") %></Asp:TableCell> <Asp:TableCell Runat="Server"><%# Container.DataItem("作者") %></Asp:TableCell> <Asp:TableCell Runat="Server" HorizontalAlign="Center"><%# Container.DataItem("适用专业") %></Asp:TableCell> <Asp:TableCell Runat="Server" HorizontalAlign="Center"><Asp:LinkButton Runat="Server" Text="编辑" CommandName="Edit"/></Asp:TableCell> </Asp:TableRow> </Asp:Table> </ItemTemplate> <EditItemTemplate> <Asp:Table Runat="Server"> <Asp:TableRow Runat="Server" HorizontalAlign="Left"> <Asp:TableCell Runat="Server"> <Asp:TextBox Runat="Server" Id="d_bookname" Text='<%# Container.DataItem("书名") %>' Width="250pt" /> </Asp:TableCell> <Asp:TableCell Runat="Server"> <Asp:TextBox Runat="Server" Id="d_author" Text='<%# Container.DataItem("作者") %>' Width="50pt"/> </Asp:TableCell> <Asp:TableCell Runat="Server" HorizontalAlign="Center"> <Asp:TextBox Runat="Server" Id="profession_no" Text='<%# Container.DataItem("适用专业") %>' Width="25pt" /> </Asp:TableCell> <Asp:TableCell Runat="Server" Width="75pt" HorizontalAlign="Center"> <Asp:LinkButton Runat="Server" Width="20" Text="更新" CommandName="Update" /> <Asp:LinkButton Runat="Server" Width="20" Text="删除" CommandName="Delete" /> <Asp:LinkButton Runat="Server" Width="20" Text="取消" CommandName="Cancel" /> </Asp:TableCell> </Asp:TableRow> </Asp:Table> </EditItemTemplate> <HeaderStyle HorizontalAlign="Center" BackColor="#66CCFF" ForeColor="Crimson" /> <ItemStyle BackColor="Moccasin" /> <EditItemStyle BackColor="Lavender" /> </Asp:DataList> </Form> </Body> </Html>