zoukankan      html  css  js  c++  java
  • .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编码)。
  • 相关阅读:
    Java实现 LeetCode 792 自定义字符串排序(暴力)
    Java实现 LeetCode 792 自定义字符串排序(暴力)
    asp.net session对象的持久化
    Java实现 LeetCode 791 自定义字符串排序(桶排序)
    Java实现 LeetCode 791 自定义字符串排序(桶排序)
    Java实现 LeetCode 791 自定义字符串排序(桶排序)
    Java实现 LeetCode 790 多米诺和托米诺平铺(递推)
    Java实现 LeetCode 790 多米诺和托米诺平铺(递推)
    Java实现 LeetCode 790 多米诺和托米诺平铺(递推)
    小白也能看懂的约瑟夫环问题
  • 原文地址:https://www.cnblogs.com/mokliu/p/2138978.html
Copyright © 2011-2022 走看看