摘要:如果把SharePoint的列表当作数据库表,而把SharePoint为这些列表所封装的好的API当作已经写好的DataAccess API,在这个基础上搭建一个完全基于SharePoint的业务系统,同时在最终UI展现上再集成其他应用系统的业务展现,达到充分利用SharePoint现有功能,又体现其门户整合的理念,这种用法是否大家都在用呢?我是一直在做这方面的尝试,但是SPS2003确实有着诸多限制,比如无法跨表查询、Item级别权限和事件缺失、无法完成复杂甚至一般的工作流等,都不能不说完全基于SPS2003搭建业务和整合应用有点心有余而力不足,幸好这些在2007中都得到解决。当然,2007姑且再说,先就2003下的数据操作做个罗列吧。 1、数据表的创建     就是列表栏的创建。根据具体需求创建相应的列表栏,如日期、文本、数字等。有些可以显示公开,有些栏可以创建出来作为内部处理用。 2、数据集获取和绑定,查询就用SPQuery也挺方便public static DataSet GetListDataSet(string listName, params string[] customFields) ...{ SPWeb web = SPControl.GetContextWeb(HttpContext.Current); SPList list = web.Lists[listName]; DataSet ds = new DataSet(); ds.Merge(list.Items.GetDataTable()); foreach(string text in customFields) ...{ string internalName = list.Fields[text].InternalName; ds.Tables[0].Columns[internalName].ColumnName = text; } ds.Tables[0].AcceptChanges(); ds.AcceptChanges(); return ds; } 用法: