毕业总结:学会举一反三你才能省时而高效,一通百通!
命名空间:
Socut.Data
CData 类
实现功能:读取( DataSet方式 ),插入,更新,删除,统计
调用方法:
public CData myData=new CData( );
实际操作:
1,读取
public DataSet ds=new DataSet( );
//此DataSet类已经由微软封装提供
ds=myData.GetDataSet( ,开始行,多少行, );
2,插入
myData.GetExecuteNonQuery( );
2,更新
myData.GetExecuteNonQuery( );
3,删除
myData.GetExecuteNonQuery( );
5,统计
myData.GetExecuteScalar( ,统计类型 )
统计类型分两种:
int 整型:1
double 带小数点:2 ( 记忆方法:如果你知道double在英文单词中有“双倍”的意思,那么类型对应值自然可以联想到“2” )
CReader类实现功能:读取( DataReader阅读器方式 )
调用方法:
public CReader dr;
实际操作:
dr=new CReader( );
//
if( dr.Read( ) )
{
//如果特定条件的值存在,立即终止下一行的读取
}
//
while( dr.Read )
{
//循环读取符合条件的值
}
//
调用读取出来的值:
dr[]
使用完后关闭:dr.Close( );
更多扩展功能 1,如何实现搜索功能?
答:使用GetDataSet,或是Creader都可以实现的,因为它根本就是一个数据库内容的读? 9丶闹皇荢QL语句的使用,应该为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实现,因为这只是数据库的读? 9丶故荢QL语句的使用:SELECT * FROM 新闻表,用户表 WHERE 新闻表.发贴者姓名=用户表.用户注册名
5,我想让最新的文章排在最上面,如何办?
答:可用GetDataSet或CReader实现,因为这只是数据库的读? 9丶荢QL语句中的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编码 ).
命名空间:
Socut.Data
CData 类
实现功能:读取( DataSet方式 ),插入,更新,删除,统计
调用方法:
public CData myData=new CData( );
实际操作:
1,读取
public DataSet ds=new DataSet( );
//此DataSet类已经由微软封装提供
ds=myData.GetDataSet( ,开始行,多少行, );
2,插入
myData.GetExecuteNonQuery( );
2,更新
myData.GetExecuteNonQuery( );
3,删除
myData.GetExecuteNonQuery( );
5,统计
myData.GetExecuteScalar( ,统计类型 )
统计类型分两种:
int 整型:1
double 带小数点:2 ( 记忆方法:如果你知道double在英文单词中有“双倍”的意思,那么类型对应值自然可以联想到“2” )
CReader类实现功能:读取( DataReader阅读器方式 )
调用方法:
public CReader dr;
实际操作:
dr=new CReader( );
//
if( dr.Read( ) )
{
//如果特定条件的值存在,立即终止下一行的读取
}
//
while( dr.Read )
{
//循环读取符合条件的值
}
//
调用读取出来的值:
dr[]
使用完后关闭:dr.Close( );
更多扩展功能 1,如何实现搜索功能?
答:使用GetDataSet,或是Creader都可以实现的,因为它根本就是一个数据库内容的读? 9丶闹皇荢QL语句的使用,应该为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实现,因为这只是数据库的读? 9丶故荢QL语句的使用:SELECT * FROM 新闻表,用户表 WHERE 新闻表.发贴者姓名=用户表.用户注册名
5,我想让最新的文章排在最上面,如何办?
答:可用GetDataSet或CReader实现,因为这只是数据库的读? 9丶荢QL语句中的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编码 ).