【C#】【MySQL】【GridView】删除出现Parameter index is out of range

  • A+
所属分类:.NET技术
摘要

报错页面截图如下:
已确认配置文件齐全,MySQL命令无误,C#代码无误例如:我的主键名是注册码,那么,我就在这个地方填写 注册码


【编程语言】C#

【数据库】MySQL

【控件】GridView

【问题描述】GridView控件中自带[删除],[编辑],[选择],三个按钮[编辑],[选择]正常使用,但是在使用删除时,却报错Parameter index is out of range

报错页面截图如下:
【C#】【MySQL】【GridView】删除出现Parameter index is out of range

【代码】

aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="icode.aspx.cs" Inherits="WebApplication_OmtpcMgrSystem.admin.icode" %>  <!DOCTYPE html>  <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>     <title></title> </head> <body>         <form id="form1" runat="server">     <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:omtpcConnectionString %>" DeleteCommand="DELETE FROM invitationcode WHERE 注册码 = ?" InsertCommand="INSERT INTO invitationcode (创建日期, 注册码, 可用次数, 使用日期, 使用用户) VALUES (?, ?, ?, ?, ?)" ProviderName="<%$ ConnectionStrings:omtpcConnectionString.ProviderName %>" SelectCommand="SELECT * FROM invitationcode" UpdateCommand="UPDATE invitationcode SET 创建日期 = ?, 可用次数 = ?, 使用日期 = ?, 使用用户 = ? WHERE 注册码 = ?">         <DeleteParameters>             <asp:Parameter Name="注册码" Type="String" />         </DeleteParameters>         <InsertParameters>             <asp:Parameter Name="创建日期" Type="DateTime" />             <asp:Parameter Name="注册码" Type="String" />             <asp:Parameter Name="可用次数" Type="String" />             <asp:Parameter Name="使用日期" Type="DateTime" />             <asp:Parameter Name="使用用户" Type="String" />         </InsertParameters>         <UpdateParameters>             <asp:Parameter Name="创建日期" Type="DateTime" />             <asp:Parameter Name="可用次数" Type="String" />             <asp:Parameter Name="使用日期" Type="DateTime" />             <asp:Parameter Name="使用用户" Type="String" />             <asp:Parameter Name="注册码" Type="String" />         </UpdateParameters>     </asp:SqlDataSource>     <asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True" DataSourceID="SqlDataSource1">         <Columns>             <asp:CommandField ShowDeleteButton="True" ShowEditButton="True" ShowSelectButton="True" />         </Columns>     </asp:GridView>         </form> </body> </html>  
aspx.cs
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls;  namespace WebApplication_OmtpcMgrSystem.admin {     public partial class WebForm_CreateCode : System.Web.UI.Page     {         protected void Page_Load(object sender, EventArgs e)         {          }     } } 

已确认配置文件齐全,MySQL命令无误,C#代码无误

【解决方案】

1.选中控件

【C#】【MySQL】【GridView】删除出现Parameter index is out of range

2.找到控件属性[DataKeyNames]

【C#】【MySQL】【GridView】删除出现Parameter index is out of range

3.将主键名填入进入

例如:我的主键名是注册码,那么,我就在这个地方填写 注册码
【C#】【MySQL】【GridView】删除出现Parameter index is out of range

4.问题解决