使用剃刀页面从数据库中选择一个id?

问题描述 投票:0回答:1

我是以下。当用户注册时,他的帐户名和密码被放入现有的表中。然后从该表中读取他的id,并使用该id作为表名创建另一个表。

现在插入效果很好,但从该表中读取Id似乎给了我一些问题。

现在,如果我能够在我的网页上显示该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]
asp.net database razor asp.net-webpages
1个回答
1
投票

尝试将create和select查询合并为一个。

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

使用单独的查询获取Id可能是未来的问题,特别是如果数据变大,这样做可以优化DB中数据检索的速度,例如获取插入记录的Id。

© www.soinside.com 2019 - 2024. All rights reserved.