(程序执行效果)
在这个界面里面,我们设置了字体,每行背景,DATAGRID背景等,我们现在一一分析:
BORDERCOLOR="BLACK"
BORDERWIDTH="1"
CELLPADDING="3"
以上语句设置DATAGRID的边框为黑色;边框粗细为1;单元格跨距为3;
BACKIMAGEURL="APICTUE.GIF"
BACKCOLOR="#FFCCCC"
FORECOLOR="BLACK"
以上语句设置DATAGRID的背景图象为APICTURE.GIF;背景颜色为#FFFFCC;字体颜色为黑色;
HEADERSTYLE-BACKCOLOR="#CCCCFF"
HEADERSTYLE-FORECOLOR="BLUE"
以上语句设置DATAGRID的HEADER属性,背景颜色为#CCCCFF;字体颜色为:蓝色;
ALTERNATINGITEMSTYLE-BACKCOLOR="#F3F3F3"
以上语句设置DATAGRID每一行交替背景颜色为F3F3F3;这一语句在ASP里面实现很繁琐,在这里,一句就解决。
二)数据分页
ASP里面的数据分页实在繁琐,不得不化很多精力去写代码。一些程序员就是因为这一点,如果数据不是太多干脆不分页,勉强应付。现在我们再也不要为数据分页烦恼了,将一下代码加入DATAGRID设置:
ALLOWPAGING="TRUE"
PAGESIZE="5"
PAGERSTYLE-HORIZONTALALIGN="RIGHT"
PAGERSTYLE-NEXTPAGETEXT="下一页 >>"
PAGERSTYLE-PREVPAGETEXT="<< 上一页"
页面效果如下:

(程序执行效果)
这就是一个标准的数据分页,是不是比ASP简单的多?我们来仔细看一下代码是怎样的:
ALLOWPAGING="TRUE"
以上代码允许数据进行分页,默认是FALSE。所以,如果你要数据分页,一定要加上这一句;
PAGESIZE="5"
PAGESIZE和ASP中的一样,表示每页有多少记录;
PAGERSTYLE-HORIZONTALALIGN="RIGHT"
以上语句表示分页符在页面的位置的右边。
PAGERSTYLE-NEXTPAGETEXT="下一页 >>"
PAGERSTYLE-PREVPAGETEXT="<< 上一页"
以上语句表示用“下一页”“上一页”作为分页符号,如果不希望这样,想直接用数字表示,去掉这两句就可以了。
注意:
与分页有关的还有PAGECOUNT属性,可以得到分页的总数;
三)数据排序
数据排序不是在SQL语句里面就可以设定吗,为什么还要专门来一个数据排序?SQL语句的数据排序只能服务器端设定,如果用户希望按照自己的喜好排序怎么办?ASP里面是没有办法解决的,现在,我们看看ASP.NET怎样解决这个问题。
在DATAGRID设置里面加入一下语句:
ALLOWSORTING="TRUE"
ONSORTCOMMAND="SORT_GRID"
第一句表示DATAGRID采用要求排序;第二局表示点击排序以后的事件;我们来看看这个事件:
SUB SORT_GRID(SENDER AS OBJECT,E AS DATAGRIDSORTCOMMANDEVENTARGS)
SORTFIELD=E.SORTFIELD
DATAGRID1.DATASOURCE=CREATEDATASOURCE()
DATAGRID1.DATABIND()
END SUB
点击排序以后,首先,设置排序字段为点击的字段,如何重新显示数据。效果如下:

(程序执行效果)
如上图,每一个字段名均是一个LINKBUTTON(连接),点击这个字段名,就可以按这个字段排序。需要注意的是,排序不是对当前页排序,而是对整个DATAGRID排序。
四) 数据编辑
数据库操作出了数据浏览,最大部分其实就是对数据的处理(增加,修改,删除)。数据处理,ASP.NET和ASP没有太多的区别,我们看一个增加数据的例子就可以了解ASP.NET的数据编辑的实现了。
SUB INSERTREC()
DIM CONN AS SQLCONNECTION
DIM CONNSTR AS STRING
DIM SQLINSERTCMD AS SQLCOMMAND
DIM SQLINSERT AS STRING
CONNSTR="SERVER=NHGA-D36KQ26TWB;DATABASE=MYBASE;PWD=;UID=SA"
CONN= NEW SQLCONNECTION(CONNSTR)
SQLINSERT="INSERT INTO MYTABLE(TITLE,NAME,CONTENT) VALUES(@TITLE,@NAME,@CONTENT)"
SQLINSERTCMD=NEW SQLCOMMAND(SQLINSERT,CONN)
SQLINSERTCMD.PARAMETERS.ADD(NEW SQLPARAMETER("@TITLE",SQLDATATYPE.VARCHAR,20))
SQLINSERTCMD.PARAMETERS.ADD(NEW SQLPARAMETER("@NAME",SQLDATATYPE.VARCHAR,20))
SQLINSERTCMD.PARAMETERS.ADD(NEW SQLPARAMETER("@CONTENT",SQLDATATYPE.VARCHAR,20))
SQLINSERTCMD.PARAMETERS.ITEM("@TITLE").VALUE="TEST3"
SQLINSERTCMD.PARAMETERS.ITEM("@NAME").VALUE="TEST3"
SQLINSERTCMD.PARAMETERS.ITEM("@CONTENT").VALUE="TEST3"
CONN.OPEN()
SQLINSERTCMD.EXECUTE()
END SUB
以上代码中,首先创建一个数据库连接,然后建立了一个插入语句,此插入语句使用了以@开头的参数,这一点可能与ASP稍有差别。使用参数之前,必须先创建参数,并要说明参数的数据类型。如何打开连接,执行插入语句就可以了。
五:总结
以上我们设计到了ASP.NET数据库操作中常用的部分,基本可以实现我们一般编程要求。但是,如果要全面了解ASP.NET的数据库功能,以上显然是不够的,这需要我们更加不断地学习其他ASP.NET的知识,融会贯通。