Coolbo's blog  
.Net Stuffs
公告
日历
统计
  • 随笔 - 3
  • 文章 - 0
  • 评论 - 17
  • 引用 - 0

导航

 

最新评论

唉,我也遇到类似的问题,时好时坏。
真不知道怎么回事。
可以在profile中也放相同属性,只是把需要查询的单独在拿出来放一个表查询时用
添加、更新、删除时附带更新那个查询表就ok了
平时直接用profile就可以了,不用去读那个表的值。
看到club是这样好像,他把member数据全部读出来了然后再筛选,如果用户多那很不值啊,有没有什么好的方案。
public static List<MemberDetails> GetMembers(string filter)
{

List<MemberDetails> mlist = new List<MemberDetails>();
DataSetTableAdapters.MemberInfoTableAdapter da= new DataSetTableAdapters.MemberInfoTableAdapter();
DataSet.MemberInfoDataTable members = da.GetMemberList();

foreach (MembershipUser user in Membership.GetAllUsers())
{
DataSet.MemberInfoRow member;
member = members.FindBymemberid((Guid)user.ProviderUserKey);
if (member !=null)
{
if (filter == null || filter == String.Empty || member.lastname.StartsWith(filter, StringComparison.CurrentCultureIgnoreCase))
{
mlist.Add(new MemberDetails(user, member));
}
}
}
return mlist;
}
刚刚看了aspnet_Profile表的结构的是这样的:
UserId uniqueidentifier
PropertyNames ntext
PropertyValuesString ntext
PropertyValuesBinary image
LastUpdatedDate datetime

找这样的结构的话,似乎是无法实现对指定的属性进行搜索的
你看看我的那个帖子,用存储过程实现了你需要的功能,不过性能不好!

http://leiyu1980.cnblogs.com/archive/2005/12/13/296396.html

确实,读到dataset中处理得了
用存储过程写中东西比较麻烦,不如将所有的数据读到dataSet里面再处理就方便了,只访问一次数据库。
有这个需要的话
干脆修改表结构
用类似身份证号码的结构来编号就好查了
你把password这个字段去掉试试看
算了,最近忙,等我整理下,打个包传上来,有心的帮忙看看.
代码能用得上的随便用,如有改进的记得通知一声,当交流经验.
没用,同样这个表,同样这条语句,用odbc的时候没问题
放到access中执行也没问题.
就算我把他直接写成一句正确的sql语句对这个表执行也会出现相同的错误,update语句错误.
莫名其妙,搞了n久了,郁闷得要死.
把所有对象都用[]包起来
UPDATE Member SET password = ?, email = ?, male = ?, birthday = ?, realname = ?, phone = ?, address = ?, Introduction = ? WHERE MemberID = ?
对了你把你认为正确的sql语句拿出来看看。
我猜测,第一是不是有可能你有些字段用到了access的内部名称。例如user阿,password等等,这些名称access里面有特殊含义,虽然你定义字段名称的时候正常,但用sql语句进行操作的时候就可能出问题。
第二。。我突然忘记了,想起来再说。
我遇过从Access转到SQL Server发生过类似的问题。提示“From 子句不是单一的表名”。。。后来修改了一下“游标”方式就没可以了。感觉你的问题也可能是有关系到这方面的。不过我做的是ASP的...
re: 一个搞了很久搞不定的OleDb访问access的问题 把我的欢乐带给你 2005-05-19 09:23  
把程序发给我,我帮你看一下
email:chinamegang@sina.com
 
Copyright © coolbo Powered by: 博客园 模板提供:沪江博客