我知道此问题之前已经得到解答,但我没有看到我可以应用的解决方案。
来自背后代码的第37行出错。
Line 35: For Each r As GridViewRow In GridView1.Rows
Line 36: 'If IsRowModified(r) Then GridView1.UpdateRow(r.RowIndex, False)
Line 37: GridView1.UpdateRow(r.RowIndex, False)
Line 38: Next
我在gridview中的代码。
<asp:TemplateField HeaderText="PROMISEDELDATE" SortExpression="PROMISEDELDATE" ItemStyle-Width="100">
<ItemTemplate>
<asp:label ID="PromiseDelDateTextBox" runat="server" ReadOnly="true" Text='<%# Bind("PROMISEDELDATE") %>' Width="50px"></asp:label>
</ItemTemplate>
<ItemStyle Width="25px"></ItemStyle>
</asp:TemplateField>
我正在使用6个参数调用存储过程。
<UpdateParameters>
<asp:Parameter Name="CUST_ORDER_ID" Type="String" />
<asp:Parameter Name="ORDER_LINE_SUMMARY" Type="String" />
<asp:Parameter Name="TRIP_ORDER" Type="String" />
<asp:Parameter Name="PROMISEDELDATE" Type="datetime" />
<asp:Parameter Name="JOB_DEL_NOTES" Type="String" />
<asp:Parameter Name="ORDER_DEL_NOTES" Type="String" />
</UpdateParameters>
将相同的数据执行到存储过程中可以正常工作。我检查了SQL Server Profiler,这是传递给存储过程的内容:
exec CM_SP_UPDATE_TRIP N'1,2,3', N'1', '2016-06-23 00:00:00', N'MIKE TEST', N'MIKE TEST', N'37389-1'
然而,当从我的asp.net页面运行时,我得到的错误与SQL Server Profiler的结果相同。