第六天
一、學會添加刪除修改記錄
以前我們在ASP中不管是添加還是刪除記錄或者用SQL語句加上EXECUTE()或者就是直接用RECORDSET的NEW、DELETE、UPDATE等方法來添加刪除修改記錄。在ASP.NET
string strConnection="Provider=Microsoft.Jet.OleDb.4.0;Data Source=";
strConnection+=Server.MapPath(strDb);
OleDbConnection objConnection=new OleDbConnection(strConnection);
OleDbCommand objCommand = new OleDbCommand("這里是SQL語句" , objConnection);
objConnection.Open();
OleDbDataReader objDataReader=objCommand.ExecuteNonQuery();
--------------------------------------------------------------------------------
dim objConnection as OleDbConnection
dim objCommand as OleDbCommand
objConnection=new OleDbConnection(Provider=Microsoft.Jet.OleDb.4.0;Data Source="+Server.MapPath(strDb))
objCommand=new OleDbCommand("這里是SQL語句" , objConnection)
objConnection.Open()
objDataReader=objCommand.ExecuteNoQuery()
下面再舉例子說明一下SQL語句(ACCESS):
添加記錄: insert into 表名 (字段1,字段2) values (字符串1,字符串2) where 條件
刪除記錄: delete from 表名 where 條件
修改記錄: update 表名 set 字段1=××,字段2=×× where 條件
需要特別注意,如果是Sql Server刪除記錄是delete 表名,不需要再加from了。
二、初步掌握DATAGRID的使用
首先看一下DATAGRID的樣式方面的屬性:
CellSpacing="" 單元格間距
CellPadding="" 單元格填充
cssClass="" 使用的CSS樣式
DATAGRID可以自動用表中的字段名放在顯示的記錄的頭部來表示各個單元格所代表的意義,用ShowHeader="true/false"來控制是不是顯示,在大多數情況下我們是不需要這個功能的,因為我們數據庫中的字段名大多是英文的,而我們想在頁面輸出的大多是中文名字。
下面看一下顯示數據庫內所有記錄,就幾行代碼:
<script runat="server" language="c#">
void Page_Load()
{
string strConnection="Provider=Microsoft.Jet.OleDb.4.0;Data Source=";
strConnection+=Server.MapPath("guestbook.mdb");
OleDbConnection objConnection=new OleDbConnection(strConnection);
OleDbCommand objCommand1 = new OleDbCommand("select * from guestbook",objConnection);
objConnection.Open();
dgrdMain.DataSource=objCommand1.ExecuteReader();//dgrdMain就是下面的DATAGRID的ID
dgrdMain.DataBind();
objConnection.Close();
}
</script>
<body>
<asp:DataGrid
id="dgrdMain"
cellpadding="1"
showheader="true"
borderwidth="0"
runat="server"
/>
</body>
</html>
至于VB的版本,這次大家自己來試試吧:)
假設數據庫是三個字段:id,aa,bb 。顯示的樣子就如下:
id | aa | bb |
1 | werwe | rewrwe |
2 | werwe | rewrwe |
我們一定覺得這種顯示不滿意,我們有兩種顯示的方式(需要包括在<columns></columns>中間):
<asp:BoundColumn DataField="想要顯示的字段名">
比如說我們想按照bb,aa來輸出這個表,我們這么寫
<asp:DataGrid
id="dgrdMain"
cellpadding="1"
showheader="true"
autogeneratecolumns="false"
borderwidth="0"
runat="server">
<columns>
<asp:boundcolumn datafield="bb"/>
<asp:boundcolumn datafield="bb"/>
</columns>
</asp:datagrid>
注意使用了autogeneratecolumns="false"以后DATAGRID就不會自動輸出所有字段了。
。、以模板列,我們可以定制每一個單元格的樣式:
<asp:TemplateColumn>
<itemTemplate>
中間是一個表格,想怎么樣就怎么樣。
</itemTemplate>
</asp:DataGrid>
或許你們要說怎么在表格中輸出代碼那,可以使用<%# DataBinder.Eval(Container.DataItem,"字段名").ToString()%>。
下面看一個例子,我們所要做的就是把aa,bb兩個字段放在一個單元格內顯示,就好像下面一樣:
1 | werwe rewrwe |
2 | werwe rewrwe |
我們這樣寫代碼:
<asp:DataGrid
id="dgrdMain"
cellpadding="1"
showheader="false"
autogeneratecolumns="false"
borderwidth="0"
runat="server">
<columns>
<asp:boundcolumn datafield="ii"/> 首先使用默認的顯示方式顯示ID
<asp:TemplateColumn> 再使用模板來顯示后面一列(由AA,BB并列組成)
<itemTemplate>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tr>
<td><%# Container.DataItem("aa")%></td>
</tr>
<tr>
<td><%# Container.DataItem("bb")%></td>
</tr>
</table>
</itemTemplate>
</asp:DataGrid>
</columns>
</asp:datagrid>
今天就說到這里,明天我們來看一下DATAGRID的分頁顯示等功能。
文章來源于領測軟件測試網 http://www.kjueaiud.com/