Выбор идентификатора из базы данных с помощью бритвенных страниц? - PullRequest
0 голосов
/ 09 марта 2019

Я следующий. Когда пользователь регистрирует свою учетную запись, имя и пароль заносятся в существующую таблицу. Затем его идентификатор читается из этой таблицы, а другая таблица создается с использованием этого идентификатора в качестве имени таблицы.

Теперь вставка работает отлично, но чтение Id из этой таблицы, кажется, доставляет мне некоторые проблемы.

Теперь было бы замечательно, если бы мне удалось показать этот идентификатор на моей веб-странице. я чувствую, что когда я могу это сделать, я могу сделать что-то вроде CREAT TABLE + @Id + и т. д.

Это то, что я имею до сих пор

var gebruikersnaam = Request.Form["registnaam"];
var wachtwoord = Request.Form["registpassword"];

if (IsPost && Request.Form["registreren"] == "Registreren")
{
    var insertCommand = db.Execute("INSERT INTO Accounts (gebruikersnaam, wachtwoord) VALUES(@0, @1)", gebruikersnaam, wachtwoord);
    var id = db.Query("SELECT * FROM Accounts WHERE gebruikersnaam = @0", gebruikersnaam);
    Response.Write(@id);
}

И это то, что Response.Write(@id) показывает мне на веб-странице:

System.Collections.ObjectModel.ReadOnlyCollection`1[System.Object]

1 Ответ

1 голос
/ 11 марта 2019

Попробуйте объединить запрос на создание и выборку в один.

INSERT INTO Accounts (gebruikersnaam, wachtwoord) 
OUTPUT Inserted.Id
VALUES('value1', 'value2')

Получение идентификатора с использованием отдельного запроса может быть проблемой в будущем, особенно если данные становятся большими, это оптимизирует скорость извлечения данных в БД, например, получение идентификатора вставленной записи.

...