ASP.NET, Gridview ini edit düzenleme işlemini SQL komutu ile değil de stored procedure ile yaptığımızda aşağıdaki hatayı almaktayız. Hata genel bir hata mesajı gibi ancak çözüm bulamadık.Başka bir yöntem ile çözdük ama bu şekilde neden çalışmadı anlamadık."Prosedur ya da fonksiyon çok fazla arguman almakta, parametreler uyuşmuyor gibi bir hata" Program kodunu aşağıdaki gibi ifade etmeye çalıştım, çözümünü bilen var mı teşekkür.
-----------------------------------
CREATE PROCEDURE dbo.UpdateSurveyQuestions
(
@QuestionID int
)
AS
UPDATE tblQuestion SET Question = "Test" WHERE QuestionID = @QuestionID
GO
<asp:SqlDataSource ID="SqlGridView" runat="server" ConnectionString="<%$ ConnectionStrings:Server %>"
SelectCommand="SELECT dbo.tblSurveyQuestion.SurveyQuestionID, dbo.tblSurveyQuestion.QuestionOrder, dbo.tblSurveyQuestion.PageNumber, dbo.tblQuestion.QuestionID, dbo.tblQuestion.Question, dbo.tblQuestionType.QuestionType, dbo.tblSurveyQuestion.SurveyID FROM dbo.tblSurveyQuestion INNER JOIN dbo.tblQuestion ON dbo.tblSurveyQuestion.QuestionID = dbo.tblQuestion.QuestionID INNER JOIN dbo.tblQuestionType ON dbo.tblQuestion.QuestionTypeID = dbo.tblQuestionType.QuestionTypeID WHERE (dbo.tblSurveyQuestion.SurveyID = @SurveyID) ORDER BY dbo.tblSurveyQuestion.PageNumber, dbo.tblSurveyQuestion.QuestionOrder" UpdateCommand="UpdateSurveyQuestions" UpdateCommandType="StoredProcedure">
<SelectParameters>
<asp:QueryStringParameter Name="SurveyID" QueryStringField="SurveyID" Type="Int32" />
</SelectParameters>
<UpdateParameters>
<asp:Parameter Name="QuestionID" Type="int32" />
</UpdateParameters>
</asp:SqlDataSource>
GridView içerisine UpdateCommand olarak stored procedure yazılıp parametreleri ile çağrılamıyor mu?
<asp:GridView ID="GridView1" runat="server" AllowPaging="True" AutoGenerateColumns="False" PageSize="20" GridLines="None" DataSourceID="SqlGridView" CssClass="gridquestions" DataKeyNames="QuestionID">
Columns>
<asp:BoundField DataField="Question" HeaderText="Question" SortExpression="Question">
<ItemStyle Width="460px" CssClass="gridcell" />
</asp:BoundField>
<asp:BoundField DataField="QuestionOrder" HeaderText="Order" SortExpression="QuestionOrder">
<ItemStyle Width="50px" />
</asp:BoundField>
<asp:TemplateField HeaderText="Page No" SortExpression="PageNumber">
<EditItemTemplate>
<asp:DropDownList ID="DropDownList3" runat="server" DataSourceID="SqlPageNos"
DataTextField="PageNo" DataValueField="PageNo" SelectedValue='<%#Bind("PageNumber") %>'>
</asp:DropDownList>
</EditItemTemplate>
<ItemStyle Width="60px" />
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("PageNumber") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="QuestionType" HeaderText="Type" SortExpression="QuestionType">
<ItemStyle Width="80px" />
</asp:BoundField>
<asp:CommandField ShowEditButton="True" />
<asp:CommandField ShowDeleteButton="True" />
</Columns>
<HeaderStyle CssClass="gridheader" />
<RowStyle CssClass="gridbody1" />
<PagerStyle CssClass="gridfooter" />
<AlternatingRowStyle CssClass="gridbody2" />
</asp:GridView>