第六天
学习目的学会添加删除修改记录初步掌握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显示的样子就如下
idaabb
werwerewrwe
werwerewrwe
我们一定觉得这种显示不满意我们有两种显示的方式(需要包括在<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
rewrwewerwe
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的分页显示等功能