从文件导入用户到ASP.NET成员身份

时间:2009-10-01 22:16:57

标签: asp.net asp.net-membership

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

谢谢

3 个答案:

答案 0 :(得分:9)

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 :(得分:1)

这里有三个选项

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

  2. 如果有,请使用SSIS

  3. 你可以在旧学校做这个并使用Excel建立一个带有对单元格的引用的SQL字符串。对第一行执行此操作,然后向下复制。将所有语句复制到查询窗口并执行!

答案 2 :(得分:0)

选择1

如果你很幸运,Excel有办法将行直接导出到你的数据库(这取决于你正在使用的数据库)

选择2

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