Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 尝试插入到vb.net应用程序时出错_Asp.net_Sql_Vb.net_Insert - Fatal编程技术网

Asp.net 尝试插入到vb.net应用程序时出错

Asp.net 尝试插入到vb.net应用程序时出错,asp.net,sql,vb.net,insert,Asp.net,Sql,Vb.net,Insert,我的数据库中有ModifyUser和ModifyDate列,它们应该显示最后一个以某种方式更新特定产品的人的用户名、日期和时间 我想,如果我只是添加了第二个查询,那么我就可以了,但出于某种原因,应用程序也想将ProductName添加到产品表中。为什么应用程序不直接在产品表insert中插入我告诉它要插入的2个值 Error message: Cannot insert the value NULL into column 'ProductName', table 'Products.dbo.P

我的数据库中有ModifyUser和ModifyDate列,它们应该显示最后一个以某种方式更新特定产品的人的用户名、日期和时间

我想,如果我只是添加了第二个查询,那么我就可以了,但出于某种原因,应用程序也想将ProductName添加到产品表中。为什么应用程序不直接在产品表insert中插入我告诉它要插入的2个值

Error message: Cannot insert the value NULL into column 'ProductName', table
'Products.dbo.Product'; column does not allow nulls. INSERT fails.
The statement has been terminated.

'SQL INSERT: CompanyLink Table
        Dim strSQL As String = "INSERT INTO CompanyLink (ProductID, CompanyID) 
        VALUES (@ProductID, @CompanyID);INSERT INTO Product (ModifyDate, ModifyUser)
        VALUES (getdate(), @ModifyUser)"

    Using cn As New SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings("LocalSqlServer").ConnectionString)

    Using cmd As New SqlCommand(strSQL, cn)

    cmd.Parameters.Add(New SqlParameter("@ProductID", ProductID.Value))
    cmd.Parameters.Add(New SqlParameter("@CompanyID", company.Value))
    cmd.Parameters.Add(New SqlParameter("@ModifyUser",
    System.Web.HttpContext.Current.User.Identity.Name))

    cn.Open()
    cmd.ExecuteNonQuery()

看起来
Product
表的
ProductName
列已定义为
notnull

这意味着您必须为它提供一个值。这可以确保您没有没有没有名称的产品

由于您在此查询中未提供
ProductName

INSERT INTO Product (ModifyDate, ModifyUser)
    VALUES (getdate(), @ModifyUser)
声明失败了


我希望在同一个表中还有其他
非空
列。

看起来
产品
表的
产品
列已定义为
非空

这意味着您必须为它提供一个值。这可以确保您没有没有没有名称的产品

由于您在此查询中未提供
ProductName

INSERT INTO Product (ModifyDate, ModifyUser)
    VALUES (getdate(), @ModifyUser)
声明失败了


我希望在同一个表中还有其他
非空
列。

错误消息非常清楚:您没有提供
ProductName
,这是一个必填(
非空
)字段

要修复它,您必须提供
ProductName
,并修改以下内容:

INSERT INTO Product (ModifyDate, ModifyUser, ProductName)
    VALUES (getdate(), @ModifyUser, @ProductName)
并加上:

cmd.Parameters.Add(New SqlParameter("@ProductName", SomeVariableContainingProductName))
更新

由于您真正需要的是更新,您的声明将是:

Update product
set ModifyDate = getdate(),
    ModifyUser = @ModifyUser
where ProductID = @ProductID

请记住为查询提供所有参数值。

错误消息非常清楚:您没有提供
ProductName
,这是一个必填(
notnull
)字段

要修复它,您必须提供
ProductName
,并修改以下内容:

INSERT INTO Product (ModifyDate, ModifyUser, ProductName)
    VALUES (getdate(), @ModifyUser, @ProductName)
并加上:

cmd.Parameters.Add(New SqlParameter("@ProductName", SomeVariableContainingProductName))
更新

由于您真正需要的是更新,您的声明将是:

Update product
set ModifyDate = getdate(),
    ModifyUser = @ModifyUser
where ProductID = @ProductID

请记住为查询提供所有参数值。

产品中的ProductName不接受null。您必须传入ProductName或更改column属性以接受空值,如下所示

改变表产品
产品中的ALTER列ProductName nvarchar(50)NULL

ProductName不接受NULL。您必须传入ProductName或更改column属性以接受空值,如下所示

改变表产品
ALTER列ProductName nvarchar(50)NULL

如果“产品”表中的“产品名称”字段设置为非NULL,则数据库不会接受产品表中的任何记录,除非这些记录包含“产品名称”字段的值

如果“Product”表中的“ProductName”字段设置为非NULL,则数据库将不接受产品表中的任何记录,除非这些记录包含“ProductName”字段的值

说得好,我意识到我不想添加新产品,我想更改现有产品的一些信息。大脑放屁-我需要使用更新语句。我在更新语句中使用了它。谢谢你的帮助。说得好,我意识到我不想添加新产品,我想更改现有产品的一些信息。大脑放屁-我需要使用更新语句。我在更新语句中使用了它。谢谢你的帮助。