【问题标题】:import users to ASP.NET membership from a file从文件中将用户导入 ASP.NET 成员资格
【发布时间】:2009-10-01 22:16:56
【问题描述】:

我有一个使用 ASP.NET 成员资格的网站。我还有一个包含大约 60 条用户记录的 excel 文件。如何将记录导入会员数据库,而无需在 ASP.NET 网站管理工具中输入全部 60 条记录。

谢谢

【问题讨论】:

  • 您的 Excel 中是否也有用户密码?如果您使用加密/解密密码会发生什么?

标签: asp.net asp.net-membership


【解决方案1】:
foreach (record in recordset) {
    if (!(Roles.RoleExists(record["Role"])) {
        Roles.CreateRole(record["Role"]);
    }
    
    if (Membership.GetUser(record["Username"]) == null) {
        System.Web.Security.MembershipCreateStatus status;
        Membership.CreateUser(record["Username"], record["Password"], record["Email"], record["RSecurityQuestion"], record["SecurityAnswer"], true, status);
        if (status == System.Web.Security.MembershipCreateStatus.Success) {
            Roles.AddUserToRole(record["Username"], record["Role"]);
        }
    }
}

我不记得使用 Excel 文件创建记录集的代码了。

编辑:Here 是一篇关于如何使用 ADO.NET 读取/写入 excel 文件的好帖子

【讨论】:

  • +1 用于使用 Membership API。将数据直接转储到成员表中并不是一项直接的工作。
  • 对于一次性情况,我喜欢使用公式和 concat 函数在 excel 中生成代码。
【解决方案2】:

这里有三个选项供您选择

  1. SQL Server Management Studio 中可能有一个导入数据选项,你可以使用这个(我刚刚在 SQL Server Express 中检查了它,但我确定它存在于管理的完整版中工作室 - 目前无法检查)。

  2. 如果有 SSIS,请使用它

  3. 您可以使用老式的方法并使用 Excel 构建一个包含对单元格的引用的 SQL 字符串。对第一行执行此操作,然后向下复制。将所有语句复制到查询窗口中并执行!

【讨论】:

    【解决方案3】:

    选择 1

    如果幸运的话,Excel 可以将行直接导出到您的数据库(这取决于您使用的数据库)

    选择 2

    编写一个程序,遍历 excel 表中的每一行并将其手动插入到数据库中(同样,过程取决于哪一个)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-03
      相关资源
      最近更新 更多