Sql 过程在插入和更新ASPXgridview时传递空值
我写了一个程序如下Sql 过程在插入和更新ASPXgridview时传递空值,sql,asp.net,sql-server,stored-procedures,aspxgridview,Sql,Asp.net,Sql Server,Stored Procedures,Aspxgridview,我写了一个程序如下 USE [Farm_Project] GO /****** Object: StoredProcedure [dbo].[prod1_insert] Script Date: 11/12/2014 1:21:20 PM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER proc [dbo].[prod1_insert] ( @coop_id int, @good_eggs i
USE [Farm_Project]
GO
/****** Object: StoredProcedure [dbo].[prod1_insert] Script Date: 11/12/2014 1:21:20 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER proc [dbo].[prod1_insert]
(
@coop_id int,
@good_eggs int=0,
@broken_eggs int=0,
@small_eggs int= 0,
@date smalldatetime=null
)
AS
if @date is null
set @date=getdate()
insert into Prod1 (cc_id, gd_Eggs, br_Eggs, sm_Eggs, Prod_date )
values
(@coop_id ,@good_eggs, @broken_eggs, @small_eggs,@date)
然后,我将该过程用作ASPX Gridview DEV Express的插入查询
我还有一个类似的插入程序
但在这两种情况下,我输入的所有值都被传递为Null,并且我得到一个错误,无法为列CC_ID插入Null,通过使用SQL Server Pofiler,我发现所有值都以“Null”的形式发送到SQL Server。请帮助我,我已经尝试了我所知道的一切
先谢谢你
<dx:GridViewCommandColumn ShowDeleteButton="True" ShowEditButton="True" ShowNewButtonInHeader="True" VisibleIndex="0">
</dx:GridViewCommandColumn>
<dx:GridViewDataTextColumn FieldName="prod_ID" ReadOnly="True" VisibleIndex="1">
<EditFormSettings Visible="False" />
</dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn FieldName="cc_id" VisibleIndex="2">
</dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn FieldName="gd_Eggs" VisibleIndex="3">
</dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn FieldName="br_Eggs" VisibleIndex="4">
</dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn FieldName="sm_Eggs" VisibleIndex="5">
</dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn FieldName="Total" ReadOnly="True" VisibleIndex="6">
<EditFormSettings Visible="False" />
</dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn FieldName="Trays" ReadOnly="True" VisibleIndex="7">
<EditFormSettings Visible="False" />
</dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn FieldName="Eggs_xtra" ReadOnly="True" VisibleIndex="8">
<EditFormSettings Visible="False" />
</dx:GridViewDataTextColumn>
<dx:GridViewDataDateColumn FieldName="Prod_date" VisibleIndex="9">
</dx:GridViewDataDateColumn>
</Columns>
</dx:ASPxGridView>
<asp:SqlDataSource ID="prodSource" runat="server" ConnectionString="<%$ ConnectionStrings:Farm_ProjectConnectionString %>" DeleteCommand="prod1_delete"
InsertCommand="prod1_insert"
SelectCommand="prod1_select"
UpdateCommand="prod1_update"
DeleteCommandType="StoredProcedure"
InsertCommandType="StoredProcedure"
OnInserted="prodSource_Inserted"
SelectCommandType="StoredProcedure"
UpdateCommandType="StoredProcedure">
<DeleteParameters>
<asp:Parameter Name="prod_id" />
</DeleteParameters>
<InsertParameters>
<asp:Parameter Name="coop_id" Type="Int32" />
<asp:Parameter Name="good_eggs" Type="Int32" />
<asp:Parameter Name="broken_eggs" Type="Int32" />
<asp:Parameter Name="small_eggs" Type="Int32" />
<asp:Parameter Name="date" Type="DateTime" />
</InsertParameters>
<UpdateParameters>
<asp:Parameter Name="prod_ID" />
<asp:Parameter Name="code" Type="Int32" />
<asp:Parameter Name="good_eggs" Type="Int32" />
<asp:Parameter Name="broken_eggs" Type="Int32" />
<asp:Parameter Name="small_eggs" Type="Int32" />
<asp:Parameter Name="date" Type="DateTime" />
</UpdateParameters>
这是ASP.net中的错误,插入时无法将值NULL插入到“cc_id”列、表“Farm_Project.dbo.Prod1”中;列不允许空值。插入失败。语句已终止。实际上SP工作正常,但从aspx发送的值为空。那么为什么要发布SP?是的,SP工作得很好,我如何解决空值问题。因为我确实输入了值,但仍然得到Null并且语句被终止。您的过程是否引发异常???请显示调用存储过程的代码,否则无法看到问题可能在哪里