熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

八天學會ASP.net(6)

2013-11-13 12:15:50  來源: .NET編程 

  第六天

  學習目的學會添加刪除修改記錄初步掌握DATAGRID的使用

  學會添加刪除修改記錄

  以前我們在ASP中不管是添加還是刪除記錄或者用SQL語句加上EXECUTE()或者就是直接用RECORDSET的NEWDELETEUPDATE等方法來添加刪除修改記錄在ASPNET裡面我們采用SQL語句加上COMMAND對象來執行SQL語句的方法來添加刪除修改記錄這比上次說的讀取記錄還簡單實際上只有一點區別把ExecuteReader()修改為ExecuteNonQuery()即可因為我們不需要返回值啊

string strConnection=Provider=MicrosoftJetOleDb;Data Source=;
strConnection+=ServerMapPath(strDb);
OleDbConnection objConnection=new OleDbConnection(strConnection);
OleDbCommand objCommand = new OleDbCommand(這裡是SQL語句 objConnection);
objConnectionOpen();
OleDbDataReader objDataReader=objCommandExecuteNonQuery();

dim objConnection as OleDbConnection
dim objCommand as OleDbCommand
objConnection=new OleDbConnection(Provider=MicrosoftJetOleDb;Data Source=+ServerMapPath(strDb))
objCommand=new OleDbCommand(這裡是SQL語句 objConnection)
objConnectionOpen()
objDataReader=objCommandExecuteNoQuery()

  下面再舉例子說明一下SQL語句(ACCESS)

  添加記錄 insert into 表名 (字段字段) values (字符串字符串) where 條件
  刪除記錄 delete from 表名 where 條件
  修改記錄 update 表名 set 字段=××字段=×× where 條件

  需要特別注意如果是Sql Server刪除記錄是delete 表名不需要再加from了

  初步掌握DATAGRID的使用

  以前在ASP中我們顯示大批量數據經常使用循環讀取記錄集的方式在表格中插入代碼來顯示循環的是<tr>如果是分頁還需要自己制作如果排序更加復雜在ASPNET中就好了一切工作都可以讓DATAGRID來做

  首先看一下DATAGRID的樣式方面的屬性

BackImageUrl= 背景圖片
CellSpacing= 單元格間距
CellPadding= 單元格填充
cssClass= 使用的CSS樣式

  DATAGRID可以自動用表中的字段名放在顯示的記錄的頭部來表示各個單元格所代表的意義用ShowHeader=true/false來控制是不是顯示在大多數情況下我們是不需要這個功能的因為我們數據庫中的字段名大多是英文的而我們想在頁面輸出的大多是中文名字

  下面看一下顯示數據庫內所有記錄就幾行代碼

<script runat=server language=c#>
void Page_Load()
{
string strConnection=Provider=MicrosoftJetOleDb;Data Source=;
strConnection+=ServerMapPath(guestbookmdb);
OleDbConnection objConnection=new OleDbConnection(strConnection);
OleDbCommand objCommand = new OleDbCommand(select * from guestbookobjConnection);
objConnectionOpen();
dgrdMainDataSource=objCommandExecuteReader();//dgrdMain就是下面的DATAGRID的ID
dgrdMainDataBind();
objConnectionClose();
}
</script>
<html>
<body>
<asp:DataGrid
id=dgrdMain
cellpadding=
showheader=true
borderwidth=
runat=server
/>
</body>
</html>

  至於VB的版本這次大家自己來試試吧

  假設數據庫是三個字段idaabb 顯示的樣子就如下

   id  aa  bb    werwe  rewrwe    werwe  rewrwe

  我們一定覺得這種顯示不滿意我們有兩種顯示的方式(需要包括在<columns></columns>中間)

  1默認的列我們可以選擇不輸出所有的字段還可以安排順序
<asp:BoundColumn DataField=想要顯示的字段名>

  比如說我們想按照bbaa來輸出這個表我們這麼寫

<asp:DataGrid
id=dgrdMain
cellpadding=
showheader=true
autogeneratecolumns=false
borderwidth=
runat=server>
<columns>
<asp:boundcolumn datafield=bb/>
<asp:boundcolumn datafield=bb/>
</columns>
</asp:datagrid>

  注意使用了autogeneratecolumns=false以後DATAGRID就不會自動輸出所有字段了

  2以模板列我們可以定制每一個單元格的樣式

<asp:TemplateColumn>
<itemTemplate>

  中間是一個表格想怎麼樣就怎麼樣
</itemTemplate>
</asp:DataGrid>

  或許你們要說怎麼在表格中輸出代碼那可以使用<%# DataBinderEval(ContainerDataItem字段名)ToString()%>

  下面看一個例子我們所要做的就是把aabb兩個字段放在一個單元格內顯示就好像下面一樣

     werwe
 rewrwe
   werwe
 rewrwe

我們這樣寫代碼
<asp:DataGrid
id=dgrdMain
cellpadding=
showheader=false
autogeneratecolumns=false
borderwidth=
runat=server>
<columns>
<asp:boundcolumn datafield=ii/> 首先使用默認的顯示方式顯示ID
<asp:TemplateColumn> 再使用模板來顯示後面一列(由AABB並列組成)
<itemTemplate>
<table border= cellspacing= cellpadding= width=%>
<tr>
<td><%# ContainerDataItem(aa)%></td>
</tr>
<tr>
<td><%# ContainerDataItem(bb)%></td>
</tr>
</table>
</itemTemplate>
</asp:DataGrid>
</columns>
</asp:datagrid> 

  今天就說到這裡明天我們來看一下DATAGRID的分頁顯示等功能


From:http://tw.wingwit.com/Article/program/net/201311/15524.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.