sql - 只有在使用列列表并且 IDENTITY_INSERT 为 ON 时,才能为表“用户”中的标识列指定显式值
问题描述
我一直在尝试使我的 SQL Server 数据库与我的 aspx 项目一起工作。我为从我的网络表单文本字段中读取数据的用户创建了一个表格。但是,无论出于何种原因,它都会尝试将我的Users
表格id
列分配给我的 Web 项目中的第一个文本框。我似乎想不出办法来解决它。你可以帮帮我吗?
CREATE TABLE [dbo].[Users]
(
[Id] INT NOT NULL PRIMARY KEY,
[Username] NVARCHAR(MAX) NULL,
[Password] NVARCHAR(MAX) NULL,
[Email] NVARCHAR(MAX) NULL,
[Name] NVARCHAR(MAX) NULL
)
在这里我从 webform 分配值:
SqlCommand cmd = new SqlCommand("insert into Users values('" + tbUname.Text + "','" + tbPass.Text + "','" + tbEmail.Text + "','" + tbName.Text + "','u')", con);
网络表单标记:
<div class="center-page">
<label class="col-xs-11">Username</label>
<div class="col-xs-11">
<asp:TextBox ID="tbUname" runat="server" CssClass="form-control" placeholder="Username"></asp:TextBox>
</div>
<label class="col-xs-11">Password</label>
<div class="col-xs-11">
<asp:TextBox ID="tbPass" runat="server" CssClass="form-control" placeholder="Password"></asp:TextBox>
</div>
<label class="col-xs-11">Confirm Password</label>
<div class="col-xs-11">
<asp:TextBox ID="tbCPass" runat="server" CssClass="form-control" placeholder="Confirm Password"></asp:TextBox>
</div>
<label class="col-xs-11">Name</label>
<div class="col-xs-11">
<asp:TextBox ID="tbName" runat="server" CssClass="form-control" placeholder="Name"></asp:TextBox>
</div>
<label class="col-xs-11">E-Mail</label>
<div class="col-xs-11">
<asp:TextBox ID="tbEmail" runat="server" CssClass="form-control" placeholder="Email"></asp:TextBox>
</div>
<br />
<br />
<br />
<div class="col-xs-11 space-vert">
<asp:Button ID="btSignup" runat="server" class="btn btn-success" Text="Sign Up" OnClick="btSignup_Click" />
</div>
</div>
解决方案
您只需要在命令中明确指定要插入INSERT
的列- 如下所示:
INSERT INTO dbo.Users(Username, Password, Email, Name)
VALUES (@val1, @val2, @val3, @val4);
推荐阅读
- css - 使用 div 绑定调整图像大小
- javascript - 如何使用 jest/enzyme 测试 useEffect 与 useDispatch 挂钩?
- javascript - 无法在 webextensions 中使用 AsmJS
- c - Valgrind 报告在函数中分配并在 main 中释放的结构的泄漏
- vba - 我需要一个清除过滤器按钮,单击时我希望它清除子表单为空。此子表单附加到主表单
- javascript - 为什么分段树算法不能正常工作?
- java - 为什么在 powersOf2(int n) 程序的控制台输出中打印 3 个值
- amazon-web-services - InvalidParameterException 做刷新令牌操作
- ios - 领域在初始化时抛出信号 SIGABRT
- c# - 如何从自动生成的 Swagger 文档端点中删除不必要的字段?