Хранимая процедура обновления нескольких таблиц - PullRequest
0 голосов
/ 06 октября 2018

Я пытаюсь отобразить данные нескольких таблиц из SQL Server в GridView и разрешить пользователям редактировать строки.В настоящее время я могу отображать данные и позволять пользователям нажимать на ссылку Редактировать в GridView, чтобы изменить строку.

Но как только я нажал на Update, строка осталась прежней .Внесенные мной изменения не обновляются.

Это моя хранимая процедура:

CREATE PROCEDURE updatetable2
    (@Atd_ID INT,
     @Atd_Date DATE,
     @Atd_InTime TIME(7),
     @Atd_OutTime TIME(7),
     @Atd_Comment VARCHAR(50),
     @Status VARCHAR(50),
     @SID INT,
     @S_FName VARCHAR(50),
     @S_LName VARCHAR(50))
AS
BEGIN
    UPDATE attendance 
    SET Atd_Date = @Atd_Date, 
        Atd_InTime = @Atd_InTime, 
        Atd_OutTime = @Atd_OutTime, 
        Atd_Comment = @Atd_Comment, 
        Status = @Status 
     WHERE Atd_ID = @Atd_ID

     UPDATE student 
     SET S_FName = @S_FName, 
         S_LName = @S_LName 
     WHERE SID = @SID
END
RETURN

Что-то не так в моей хранимой процедуре?

Это моя SqlDataSource:

<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
     ConnectionString="<%$ ConnectionStrings:SAOS1ConnectionString %>" 
     SelectCommand="SELECT attendance.Atd_Date, attendance.Atd_InTime, attendance.Atd_OutTime, attendance.Atd_Comment, attendance.Status, attendance.SID, student.S_FName, student.S_LName FROM attendance INNER JOIN student ON attendance.SID = student.SID INNER JOIN class ON student.CID = class.CID WHERE (class.CID = @CID) AND (attendance.Atd_Date = @Atd_Date)" 
     UpdateCommand="updatetable2" UpdateCommandType="StoredProcedure">
       <SelectParameters>
            <asp:ControlParameter ControlID="LabelClassID" Name="CID" PropertyName="Text" />
            <asp:ControlParameter ControlID="datepicker" Name="Atd_Date" PropertyName="Text" />
        </SelectParameters>
        <UpdateParameters>
            <asp:Parameter Name="Atd_ID" Type="Int32" />
            <asp:Parameter DbType="Date" Name="Atd_Date" />
            <asp:Parameter DbType="Time" Name="Atd_InTime" />
            <asp:Parameter DbType="Time" Name="Atd_OutTime" />
            <asp:Parameter Name="Atd_Comment" Type="String" />
            <asp:Parameter Name="Status" Type="String" />
            <asp:Parameter Name="SID" Type="Int32" />
            <asp:Parameter Name="S_FName" Type="String" />
            <asp:Parameter Name="S_LName" Type="String" />
        </UpdateParameters>
</asp:SqlDataSource>
...