用户名: 密码: 免费注册 忘记密码? 网站地图 | 加入收藏 | 设为首页
首页 | 新闻 | 工具 | 系统 | 办公 | 聊天 | 多媒体 | 网页 | 运营 | 平面 | 欣赏 | 数据库 | 程序 | 服务器 | 组网
网页 | 3dmax | Ghost | Windows Xp| Dreamweaver | photoshop | Flash | office | Alexa | Css | QQ | Asp | PHP | Jsp | Access
Flash MX 2004入门 | 网站推广策略 | CorelDRAW入门 | ASP学习 | 网站建设大师功 | Word入门
  iTbulo.com > 学院 > 程序开发教程 > ASP.net教程 > ASP.net视频教程 > 文章正文
ASP.net一夜速成:毕业总结:学会举一反三,扩展更多功能
iTbulo.COM 2006-6-3 烁空()

· 点这里返回  ASP.net一夜速成 专题

毕业总结:学会举一反三你才能省时而高效,一通百通!

命名空间:

Socut.Data

//##################### CData 类 #####################

实现功能:读取(DataSet方式),插入,更新,删除,统计

调用方法:

public CData myData=new CData();

实际操作:

1,读取

public DataSet ds=new DataSet(); //此DataSet类已经由微软封装提供

ds=myData.GetDataSet("SELECT * FROM 表 WHERE 条件",开始行,多少行,"虚拟表名");

2,插入

myData.GetExecuteNonQuery("INSERT INTO 表 (列1,列2) VALUES (变量1,变量2)");

2,更新

myData.GetExecuteNonQuery("UPDATE 表 SET 列1=变量A,列2=变量B WHERE 条件");

3,删除

myData.GetExecuteNonQuery("DELETE 表 WHERE 条件");

5,统计

myData.GetExecuteScalar("SELECT * FROM 表 WHERE 条件",统计类型)

统计类型分两种:

int 整型:1

double 带小数点:2 (记忆方法:如果你知道double在英文单词中有“双倍”的意思,那么类型对应值自然可以联想到“2”)

//##################### CReader类 #####################

实现功能:读取(DataReader阅读器方式)

调用方法:

public CReader dr;

实际操作:

dr=new CReader("SELECT * FROM 表 WHERE 条件");

//--------------------------------------------

if(dr.Read())

{

//如果特定条件的值存在,立即终止下一行的读取

}//--------------------------------------------

while(dr.Read)

{

//循环读取符合条件的值

}//--------------------------------------------

调用读取出来的值:

dr["列名"]

使用完后关闭:dr.Close();

//##################### 更多扩展功能 #####################

1,如何实现搜索功能?

答:使用GetDataSet,或是Creader都可以实现的,因为它根本就是一个数据库内容的读取。关键的只是SQL语句的使用,应该为SELECT * FROM 表名1 WHERE 列1 LIKE ‘要搜索的关键字’

2,如何实现文章阅读总数的统计?

答:需要将所有符合要求的列作一次加法运算,使用GetExecuteScalar的统计功能就可以实现了,示例:double d1=(double)GetExecuteScalar(“SELECT SUM(要统计的列名) FROM 表名1 WHERE 条件”,2);

3,我如何开发论坛,或是商城?

答:论坛的功能几乎跟新闻系统一样的,你只要再加一个回复功能。提示:在原新闻表中新建一列,0代表主贴,大于0的数,则代表此贴是跟贴、所要跟贴的主贴ID是XX。商城的购物车,事实上就是使用Session将购买内容暂存,最后结账时一次性插入数据库。

4,在开发论坛时,读取贴子的同时我还要显示用户的信息,得同时读取两个表,如何办?

答:可用GetDataSet或CReader实现,因为这只是数据库的读取。关键还是SQL语句的使用:SELECT * FROM 新闻表,用户表 WHERE 新闻表.发贴者姓名=用户表.用户注册名

5,我想让最新的文章排在最上面,如何办?

答:可用GetDataSet或CReader实现,因为这只是数据库的读取。关键是SQL语句中的ORDER BY的ASC(升序)或DESC(降序)的使用。示例:SELECT * FROM 表名1 WHERE 条件 ORDER BY 时间列 DESC6,如何防止黑客的SQL注入? (严重程序:极高)

答:最基本的要过滤“ ’ ”符号,这样可以避免黑客构造SQL语句。如本新闻系统的第16节,用户登陆时,要先将TextBox1.Text.Replace(“’”,””)一次,再执行SQL语句。还有插入数据时,也同样要使用Replace过滤。

7,要实现数据库一键切换功能,要注意什么?

答:Access与SQL Server的SQL语句事实上还是一些差别的。比如删除语句,在Access中,可以使用DELETE * FROM 也可以用DELETE FROM ,而SQL Server 只能使用DELETE FROM 。另外,在数据库数据切换时,原数据的默认值属性均会丢失。所以,要实现数据库一键切换,要注意两点:1,使用共用的SQL语句;2,尽量避免使用默认值(如自动编号,改用GUID编码)。

相关文章 相关下载
ASP.net一夜速成:实现“文章数量统计”功能
ASP.net一夜速成:添加“用户登陆”的后台代码(下)
ASP.net一夜速成:添加“用户登陆”的后台代码(上)
ASP.net一夜速成:“用户登陆”界面的布局设计
ASP.net一夜速成:添加“用户注册”的后台代码
更多专题
家用宽带解疑答难手册 Foxmail 5 视频教程 ASP学习教程 PhotoShop精通宝典
Access 2000 入门教程 Photoshop CS2 新功能体验 网站设计系列多媒体教程 Flash MX 2004入门与进阶实例
Photoshop 7.0 视频教程 FlashMx操作大全[视频连载] CorelDRAW入门与进阶实例 QQ2005 使用技巧视频教程
焦点信息