2004-8-2+ 第二次总结
1.未来的计划先:
a.开始学sql server 2000 吧!!
b.试着去看英文msdn上的文章。
2.在动手写代码之前,一定要先最好规划。画好结构图,流程图,类图……先把所有东西理顺了,再动手。
3.关于三层的一些知识。目前所知道的是:中间层再分成dblayer和businesslayer。dblayer用于sql操作,所有同数据库直接相联系的操作都放到这里。businesslayer则关注于具体实现ui层的要求,ui层对数据库的操作通过这一层完成。
下面是一个示例,取自那个文章管理系统:
dblayer <------------------
//查询,返回特定类型记录集
public DataView SelectData(string dbname,string dbmsg,string reqmsg)
{
isok=false;
sql=new StringBuilder();
sql.Append("select * from ");
sql.Append(dbname);
sql.Append(" where ");
sql.Append(dbmsg);
sql.Append(" like '%");
sql.Append(reqmsg);
sql.Append("%' order by id desc");
ada=new SqlDataAdapter(sql.ToString(),conn);
ds=new DataSet();
try
{
ada.Fill(ds,"sels");
dv=ds.Tables["sels"].DefaultView;
isok=true;
error="the application run well!";
}
catch(SqlException ex)
{
error=ex.Message;
}
finally
{
ada.Dispose();
}
return dv;
}
businesslayer <------------------
//查找特定类别记录集
public DataView SelectDataSp(string reqmsg)
{
DataView dv=ms.SelectData("arts","type",reqmsg);
message=ms.Message;
sql=ms.Sql;
return dv;
}
//查找相关记录集
public DataView SelectDataKey(string reqmsg)
{
DataView dv=ms.SelectData("arts","keywords",reqmsg);
message=ms.Message;
sql=ms.Sql;
return dv;
}
//初始特定类别界面数据
public void SetUpSp(DataGrid dg,string reqmsg)
{
dg.DataSource=this.SelectDataSp(reqmsg);
dg.DataBind();
sql=ms.Sql;
message=ms.Message;
}
4.活用组件。
5.用户控件!要注意的是动态加载时对事件的订阅和使用缓存的时候对属性的设置。
6.Forms验证!这里主要是理清关系,别被文件夹的不同权限弄晕了。
7.Cookies的基本用法:
//建立一个新的实例,顺便取名
HttpCookie user=new HttpCookie("user");
//赋值
user.Value=boxuid.Text;
//添加到cookies集合
Response.Cookies.Add(user);
//使用它
Request.Cookies["user"].Value
8.datalist的性能和repeater差不了多少,因此不用过分的顾及两者的区别,到是datagrid需要特别的注意。在datagrid的自定义分页时,从数据库取出的数据是当前页需要的记录。另外itemdatabound事件很有用,在进行特殊化处理的时候需要用到。
9.往数据库里添加文章时保存格式的办法:
//提交时
HttpUtility.HtmlEncode(boxbody.Text)
//显示时
public string format(string ms)
{
ms=ms.Replace( " ", " " ).Replace( Convert.ToString( ( char ) 10 ), " " ).Replace( Convert.ToString( ( char ) 13 ), "<br>" );
return ms;
}
10.继续努力吧~~