毕业总结:学会举一反三,扩展更多功能

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

命名空间:

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编码)。

时间: 2024-08-31 12:41:30

毕业总结:学会举一反三,扩展更多功能的相关文章

《AngularJS深度剖析与最佳实践》一1.5 实现更多功能:主题

1.5 实现更多功能:主题 1.5.1 实现主题列表 我们还没有实现发帖和取帖子列表的后端功能,甚至连这个API该设计成什么样都还不清楚.不过没关系,我们可以先在前端做一些模拟数据,等到前端所需的数据结构确定下来,API也就基本成型了,这也是敏捷方法的一种应用. 我们先做些准备工作.在router.js中增加两个路由定义: $stateProvider.state('thread', { url: '/thread', template: '<div ui-view></div>'

js实现加载更多功能实例_javascript技巧

项目的一个前端页面展示已购买商品时,要求能下拉加载更多.关于如何实现『加载更多』功能,网上有插件可用,例如比较著名的使用iscroll.js实现的上拉加载更多.下拉刷新功能. 但实际用起来却是很麻烦.由于是第三方插件,要按照对方定义的方法使用,用起来总感觉很不顺心.再加上iscroll.js本身并没有集成加载更多的功能,需要进行自行扩展.想继续使用iscroll.js实现加载更多功能的,上面给的链接可以看看. h5项目里需要实现简单的分页功能,由于是移动端,考虑用『加载更多』会更好,而不是PC端

百度百科发布公告声称取消扩展阅读功能

摘要: 据百度百科发布公告声称,因为扩展阅读功能和参考资料类似,因而取消扩展阅读功能,同时用户也注意到,参考资料里的链接都被添加了nofollow标签. 百度在公告里称:扩展阅读对百 据百度百科发布公告声称,因为扩展阅读功能和参考资料类似,因而取消扩展阅读功能,同时用户也注意到,参考资料里的链接都被添加了nofollow标签. 百度在公告里称:"扩展阅读对百科词条内容提供引用来源的主要功能已被参考资料功能替代.扩展阅读自身的功能定位变得越来越不清晰.因此百科决定对扩展阅读内容进行隐藏处理,同时用

vue制作加载更多功能的正确打开方式_javascript技巧

使用vue制作加载更多功能,通过ajax获取的数据往data里面push经常不成功,原因是push是往数组中追加数据内容的,而不能用作数组之间的拼接,ajax获取的数据就是数组形式的,因此不成功,应该使用concat()拼接两个数组. //这是错误的写法 $.ajax({ type:'get', async:false, url:path+'no/noticeMobile/getSendNoticeList?imToken='+ getToken +'&pageFlag=2', dataType

如何使用VNX文件扩展筛选功能

VNX文件扩展筛选功能用于对CIFS共享级别中的文件类型进行过滤设置. 解决方案: VNX文件扩展筛选功能由二个组件形成:  1.按特殊命名约定命名的筛选器文件集,其中包括要筛选的扩展名和共享名称.用户需要将这些文件存储在Data Mover上的.filefither目录中,如果.filefilter目录中没有筛选器文件,则不会进行筛选.  2.筛选器文件上ACL设置.用户可使用ACL设置筛选器策略的例外,ACL让用户可限制对某用户进行的文件扩展筛选.  注意:文件扩展筛选在CIFS共享级别进行

Android Recyclerview实现上拉加载更多功能

在项目中使用列表的下拉刷新和上拉加载更多是很常见的功能,下拉刷新我们可以用Android自带的SwipeRefreshLayout这个很好解决.但是上拉加载更多就要去找一些框架了,刚开始的时候我找到一个Mugen的github开源框架,但是有个问题,当页面能够一次加载全部item的时候,上拉加载的功能就失效了. 这是因为当界面一次能够加载完全部item的时候,继续往上拉,Recyclerview的滑动监听,中的onScrolled方法只会在页面加载的时候调用一次,只后就不会被调用了,并且dy=0

Android RecyclerView上拉加载更多功能回弹实现代码

实现原理是使用RecyclerView的OnTouchListener方法监听滑动 在adapter里面增加两项footview 其中date.size为显示的加载条,可以自定义,date.size+1为空白的View,我们设置其高度为0 我们通过LinearLayoutManager的 findLastVisibleItemPosition判断显示的最后一条数据,如果是空白view,表示加载条已经完全展示,松开即可刷新. 回弹效果是通过在滑动时动态改变空白view的高度,达到阻尼效果 ,回弹时

php扩展Redis功能

php扩展Redis功能  1 首先,查看所用php编译版本V6/V9 在phpinfo()中查看     2 下载扩展 地址:https://github.com/nicolasff/phpredis/downloads(注意所支持的php版本)   3 将下载的php_redis.dll放在php扩展目录中(ext),并修改配置文件php.ini   添加 扩展的时候一定要 extension=php_igbinary.dll extension=php_redis.dll 这个顺序   否

苹果计划扩展iPhone6功能:代钥匙公交卡

iPhone 6就还有更多开发可能 新浪手机讯 10月28日上午消息,来自国外科技网站The Information的消息称,苹果公司正在合作伙伴,试图扩展iPhone 6/6 http://www.aliyun.com/zixun/aggregation/19564.html">Plus内置的NFC芯片功能. 与一般安卓手机不同,最新两款iPhone中的NFC芯片是被苹果"封住"的,或许是为安全因素考虑,苹果公司并未向第三方开发者开放NFC相关的API,目前只支持Ap