【发布时间】:2019-07-31 13:07:01
【问题描述】:
我是下面的人。当用户注册时,他的账户名和密码被放入一个现有的表中。然后从该表中读取他的 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]
【问题讨论】:
-
我实际上发现这一切都通过使用 db.queryvalue 而不仅仅是 db.query 得到了解决,现在我遇到的唯一其他问题是尝试类似 db.execute("CREATE TABLE "+ Id +" etc") 我收到一个错误,提示附近的语法不正确,然后是我的 ID 号。
-
有关使用 OUTPUT 子句的更多信息,请参阅此问题 stackoverflow.com/questions/10999396/…。
-
您不能将表格命名为需要在其前面加上前缀的数字。例如 ($"CREATE TABLE T{id}" )。把我告诫不要为每个用户创建表。可能更好,所以所有数据都在表中的行中,而不是单独的表中。
标签: asp.net database razor asp.net-webpages