Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.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
C# 删除按钮/函数删除SQL上的错误数据_C#_Sql Server 2008_Visual Studio 2012 - Fatal编程技术网

C# 删除按钮/函数删除SQL上的错误数据

C# 删除按钮/函数删除SQL上的错误数据,c#,sql-server-2008,visual-studio-2012,C#,Sql Server 2008,Visual Studio 2012,我使用SQL Server Management Studio备份的Visual Studio 2012作为其数据库。我正在使用gridview查看我的数据。我使用了一个TemplateField,可以编辑和删除数据。但似乎当我删除某个数据时,它总是删除第一个数据。解决办法可能是什么 以下是我的asp代码: <asp:Content ID="Content4" ContentPlaceHolderID="full_main" Runat="Server"> <asp:G

我使用SQL Server Management Studio备份的Visual Studio 2012作为其数据库。我正在使用gridview查看我的数据。我使用了一个TemplateField,可以编辑和删除数据。但似乎当我删除某个数据时,它总是删除第一个数据。解决办法可能是什么

以下是我的asp代码:

<asp:Content ID="Content4" ContentPlaceHolderID="full_main" Runat="Server">
    <asp:GridView ID="gvUsers" runat="server" 
    class="table table-bordered data-table" AutoGenerateColumns="False" 
    AllowPaging="True" onpageindexchanging="gvUsers_PageIndexChanging" 
        onselectedindexchanged="gvUsers_SelectedIndexChanged" EnableModelValidation="True">
        <Columns>
            <asp:BoundField DataField="UserID" HeaderText="User ID" InsertVisible="False" 
                ReadOnly="True" SortExpression="UserID" />
            <asp:BoundField DataField="FirstName" HeaderText="First Name" 
                SortExpression="FirstName" />
            <asp:BoundField DataField="LastName" HeaderText="Last Name" 
                SortExpression="LastName" />
            <asp:BoundField DataField="EmailAddress" HeaderText="Email Adress" SortExpression="EmailAddress" />
            <asp:BoundField DataField="Street" HeaderText="Street" SortExpression="Street" />
            <asp:BoundField DataField="Municipality" HeaderText="Municipality" SortExpression="Municipality" />
            <asp:BoundField DataField="City" HeaderText="City" SortExpression="City" />
            <asp:BoundField DataField="ZipCode" HeaderText="Zip Code" SortExpression="ZipCode" />
            <asp:BoundField DataField="ContactNo" HeaderText="Contact No" SortExpression="ContactNo" />
            <asp:TemplateField HeaderText="Actions">
                <ItemTemplate>
                    <a href="http://localhost:12345/CAPSTONE/Users/Edit.aspx?ID=<%# Eval("UserID") %>" 
                                class="btn btn-primary btn-mini">Edit</a>
                            <a href="#deleteItem" data-toggle="modal" class="btn btn-danger btn-mini">Delete</a>
                            <div id="deleteItem" class="modal hide">
                              <div class="modal-header">
                                <button data-dismiss="modal" class="close" type="button">×</button>
                                <h3>Record Deletion</h3>
                              </div>
                              <div class="modal-body">
                                <p>Are you sure you want to delete the record?</p>
                              </div>
                              <div class="modal-footer"> 
                                <a class="btn btn-primary"
                                    href="http://localhost:12345/CAPSTONE/Users/Delete.aspx?ID=<%# Eval("UserID") %>">Confirm</a> 
                                <a data-dismiss="modal" class="btn" href="#">Cancel</a> 
                              </div>
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
        <EmptyDataTemplate>
            <center>
                <h1>
                    No records found.</h1>
            </center>
        </EmptyDataTemplate>
        <PagerStyle CssClass="pagination alternate" />
    </asp:GridView>

您如何调用
DeleteUser
userID
来自何处?我在Gridview中使用了一个TemplateField,其中列可以有编辑和删除等按钮。这回答了你的问题吗?安德烈,很幸运,没有。你能发布调用
DeleteUser
的代码吗?你在哪里把
userID
参数传递给
void DeleteUser(int-userID)
?你需要检查被调用的URL以确保每次调用的userID是正确的。另外,运行SQL事件探查器和/或调试以逐步完成代码,以确保生成的SQL语句是正确的。
void DeleteUser(int userID)
    {
        con.Open();
        SqlCommand cmd = new SqlCommand();
        cmd.Connection = con;
        cmd.CommandText = "DELETE FROM Users WHERE UserID=@UserID";
        cmd.Parameters.Add("@UserID", SqlDbType.Int).Value = userID;
        cmd.ExecuteNonQuery();
        con.Close();
        Helper.AddLog(Session["userid"].ToString(), "Delete", "Deleted a User");
        Response.Redirect("Default.aspx");
    }