Sql 由于output.inserted id错误,无法将记录添加到数据库中

Sql 由于output.inserted id错误,无法将记录添加到数据库中,sql,asp.net,Sql,Asp.net,大家好,我有这段代码试图将记录添加到数据库中的rider表中,但是当我运行代码时出现以下错误,我可以知道如何修复此错误吗 System.Data.SqlClient.SqlException:'无法将值NULL插入到 列'RiderID',表'bikestop.dbo.Rider';列不允许 空值。“插入失败。” 以下是上述代码的aspx文件代码: <%@ Page Title="" Language="C#" MasterPageFile="~/bikestop_LoggedOut.Ma

大家好,我有这段代码试图将记录添加到数据库中的rider表中,但是当我运行代码时出现以下错误,我可以知道如何修复此错误吗

System.Data.SqlClient.SqlException:'无法将值NULL插入到 列'RiderID',表'bikestop.dbo.Rider';列不允许 空值。“插入失败。”

以下是上述代码的aspx文件代码:

<%@ Page Title="" Language="C#" MasterPageFile="~/bikestop_LoggedOut.Master" AutoEventWireup="true" CodeBehind="bikestop_Register.aspx.cs" Inherits="bikestop.bikestop_Register" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
    <style type="text/css">
    .auto-style1 {
        width: 195px;
    }
</style>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
    <table class="w-100">
    <tr>
        <td class="auto-style1">Name</td>
        <td>
            <asp:TextBox ID="txt_Name" runat="server"></asp:TextBox>
        </td>
    </tr>
    <tr>
        <td class="auto-style1">Username</td>
        <td>
            <asp:TextBox ID="txt_RiderUsername" runat="server"></asp:TextBox>
        </td>
    </tr>
    <tr>
        <td class="auto-style1">Password</td>
        <td>
            <asp:TextBox ID="txt_RiderPw" runat="server" TextMode="Password"></asp:TextBox>
        </td>
    </tr>
    <tr>
        <td class="auto-style1">&nbsp;</td>
        <td>
            <asp:Button ID="btn_Register" runat="server" Text="Register" OnClick="btn_Register_Click" />
        </td>
    </tr>
</table>
</asp:Content>

您没有插入ID或没有自动递增功能,因此SQL无法知道要在ID中插入哪个值

您可以这样创建表:

CREATE TABLE Rider (
RiderID int NOT NULL PRIMARY KEY IDENTITY(1,1),
Name varchar(10) NOT NULL,
RiderUsername varchar(250) NOT NULL,
Password varchar(250) NOT NULL
)
您将在ID列上自动递增

如果您已经有数据,则无法将列更改为用户标识1,1,但您有两个选项:

-创建标识为1,1的新表,并删除现有表

-创建标识为1,1的新列,并删除现有列

注意:您需要处理关系,但这是最干净的方法。我可能会选择第二种选择


有关上标识1,1的详细信息

您需要为标识列共享附加表架构自动递增
CREATE TABLE Rider(

RiderID int  NOT NULL,
Name varchar(10) NOT NULL,
RiderUsername varchar(250) NOT NULL,
Password varchar(250) NOT NULL,
Primary Key (RiderID)
)
CREATE TABLE Rider (
RiderID int NOT NULL PRIMARY KEY IDENTITY(1,1),
Name varchar(10) NOT NULL,
RiderUsername varchar(250) NOT NULL,
Password varchar(250) NOT NULL
)