импортировать пользователей в ASP.NET членство из файла - PullRequest
3 голосов
/ 02 октября 2009

У меня есть сайт, использующий членство в ASP.NET. У меня также есть файл Excel с около 60 пользовательских записей. Как я могу импортировать записи в базу данных участников, не вводя все 60 в Инструмент администрирования веб-сайта ASP.NET.

Спасибо

Ответы [ 3 ]

9 голосов
/ 02 октября 2009
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 поверх моей головы.

РЕДАКТИРОВАТЬ: Здесь хороший пост о том, как читать / писать файлы Excel с ADO.NET

1 голос
/ 02 октября 2009

Вот три варианта для вас

  1. Может быть опция импорта данных в SQL Server Management Studio, вы можете использовать ее (я только что проверил в SQL Server Express, и ее там не было, но я уверен, что она существует в полной версии Management Студия - не могу проверить в данный момент).

  2. Используйте SSIS, если он у вас есть

  3. Вы можете сделать это в старой школе и использовать Excel для создания строки SQL со ссылками на ячейки. Сделайте это для первого ряда, а затем скопируйте вниз. Скопируйте все операторы в окно запроса и выполните!

0 голосов
/ 02 октября 2009

Выбор 1

Если вам повезет, в Excel есть способ экспортировать строки непосредственно в вашу базу данных (это зависит от того, какую базу данных вы используете)

Выбор 2

Напишите программу, которая выполняет итерации по каждой строке в таблице Excel и вставляет ее вручную в базу данных (опять же, процесс зависит от того, какая именно)

...