将DataTable加入缓存string sql = "select id,caid,filetitle,filetype,filename,pubdate from web_repository where subsiteid='root' and state='4'";
OracleDataAdapter adapter = new OracleDataAdapter(sql, ConfigurationManager.AppSettings["ERP"]); DataSet ds = new DataSet(); adapter.Fill(ds, "web_repository");
HttpContext.Current.Cache["web"] = ds.Tables["web_repository"];从缓存中取出DataTable ds = (DataTable)HttpContext.Current.Cache.Get("web");
DataView dv = ds1.DefaultView;
dv.RowFilter = "caid='002-001'";可是过滤出来的数据,caid却不仅仅是002-001的,而且我发现,假如数据库中只有1条caid=002-001的数据,那它过滤出来的结果也只有1条,但这条数据并不是caid=002-001的,而是在cache中的DataTable的第一条数据,无论用cache存dataset,datatable,dataview都是这个毛病,从vs2003到vs2005都是这样,这是为什么啊,到底哪里有错啊,出了300分了,还是没人解答么?!我qq24954254,在线等!!!!
OracleDataAdapter adapter = new OracleDataAdapter(sql, ConfigurationManager.AppSettings["ERP"]); DataSet ds = new DataSet(); adapter.Fill(ds, "web_repository");
HttpContext.Current.Cache["web"] = ds.Tables["web_repository"];从缓存中取出DataTable ds = (DataTable)HttpContext.Current.Cache.Get("web");
DataView dv = ds1.DefaultView;
dv.RowFilter = "caid='002-001'";可是过滤出来的数据,caid却不仅仅是002-001的,而且我发现,假如数据库中只有1条caid=002-001的数据,那它过滤出来的结果也只有1条,但这条数据并不是caid=002-001的,而是在cache中的DataTable的第一条数据,无论用cache存dataset,datatable,dataview都是这个毛病,从vs2003到vs2005都是这样,这是为什么啊,到底哪里有错啊,出了300分了,还是没人解答么?!我qq24954254,在线等!!!!
可见很急,
老实说我不知道你这么取有到底为啥错了
因为之前用.net1.1做过个项目也从web service也是在cache存取过datatable没有问题
给后面的人留点东西吧。
用datarowview吧。