C# 显示错误-未提供的参数除外
我想执行查询,但在数据存储参数上显示错误,但未提供参数除外。请帮助我解决此问题 我的代码是-C# 显示错误-未提供的参数除外,c#,asp.net,sql-server-2008,C#,Asp.net,Sql Server 2008,我想执行查询,但在数据存储参数上显示错误,但未提供参数除外。请帮助我解决此问题 我的代码是- SqlConnection conn = new SqlConnection(str); conn.Open(); Console.WriteLine("TicketNo {0}", itm);
SqlConnection conn = new SqlConnection(str);
conn.Open();
Console.WriteLine("TicketNo {0}", itm);
string SwimSR = "";
SwimSR += "Insert into SwimSR1(Id,State,Title,Datastore,AreaId,AreaPath,PlannedStartDate,PlannedEndDate,RequestedEta,SeManTexEta,Owner,Reason,ChangedBy,ChangedDate,CreatedBy,CreatedDate,NodeName,Trio,Type,BusinessCategory,Description)";
SwimSR += "Values(@Id,@State,@Title,@Datastore,@AreaId,@AreaPath,@PlannedStartDate,@PlannedEndDate,@RequestedEta,@SeManTexEta,@Owner,@Reason,@ChangedBy,@ChangedDate,@CreatedBy,@CreatedDate,@NodeName,@Trio,@Type,@BusinessCategory,@Description)";
SqlCommand cmd = new SqlCommand(SwimSR, conn);
cmd.Parameters.Add(new SqlParameter("@Id",swimTicket[itm].swimTicketData.Id));
cmd.Parameters.Add(new SqlParameter("@State",swimTicket[itm].swimTicketData.State));
cmd.Parameters.Add(new SqlParameter("@Title",swimTicket[itm].swimTicketData.Title));
cmd.Parameters.Add(new SqlParameter("@Datastore",swimTicket[itm].swimTicketData.Datastore));
cmd.Parameters.Add(new SqlParameter("@AreaId", swimTicket[itm].swimTicketData.AreaId));
cmd.Parameters.Add(new SqlParameter("@AreaPath", swimTicket[itm].swimTicketData.AreaPath));
cmd.Parameters.Add(new SqlParameter("@PlannedStartDate", swimTicket[itm].swimTicketData.PlannedStartDate));
cmd.Parameters.Add(new SqlParameter("@PlannedEnddate", swimTicket[itm].swimTicketData.PlannedEndDate));
cmd.Parameters.Add(new SqlParameter("@RequestedEta", swimTicket[itm].swimTicketData.RequestedEta));
cmd.Parameters.Add(new SqlParameter("@SemanTexEta", swimTicket[itm].swimTicketData.SeManTexEta));
cmd.Parameters.Add(new SqlParameter("@Owner", swimTicket[itm].swimTicketData.Owner));
cmd.Parameters.Add(new SqlParameter("@Reason", swimTicket[itm].swimTicketData.Reason));
cmd.Parameters.Add(new SqlParameter("@ChangedBy", swimTicket[itm].swimTicketData.ChangedBy));
cmd.Parameters.Add(new SqlParameter("@ChangedDate", swimTicket[itm].swimTicketData.ChangedDate));
cmd.Parameters.Add(new SqlParameter("@CreatedBy", swimTicket[itm].swimTicketData.CreatedBy));
cmd.Parameters.Add(new SqlParameter("@CreatedDate", swimTicket[itm].swimTicketData.CreatedDate));
cmd.Parameters.Add(new SqlParameter("@NodeName", swimTicket[itm].swimTicketData.NodeName));
cmd.Parameters.Add(new SqlParameter("@Trio", swimTicket[itm].swimTicketData.Trio));
cmd.Parameters.Add(new SqlParameter("@Type", swimTicket[itm].swimTicketData.Type));
cmd.Parameters.Add(new SqlParameter("@BusinessCategory", swimTicket[itm].swimTicketData.BusinessCategory));
cmd.Parameters.Add(new SqlParameter("@Description", swimTicket[itm].swimTicketData.Description));
cmd.ExecuteNonQuery();
Console.WriteLine("added");
conn.Close();
使套管匹配:
... @SeManTexEta ...
cmd.Parameters.Add(new SqlParameter("@SemanTexEta", swimTicket[itm].swimTicketData.SeManTexEta));
这能解决问题吗?您在sql命令中使用了
@SeManTexEta
,但在参数部分声明为@SeManTexEta
正如你所看到的,这些是不同的
换衣服
cmd.Parameters.Add(new SqlParameter("@SemanTexEta", swimTicket[itm].swimTicketData.SeManTexEta));
到
方法也已被弃用。您可以改为使用方法。喜欢
cmd.Parameters.AddWithValue("@SeManTexEta", swimTicket[itm].swimTicketData.SeManTexEta);
在阅读了以上答案和评论之后, 请在命令参数中检查所需的
数据类型
,查看数据存储
和数据类型
还要检查cmd.parameter类型是否不是NULL
cmd.Parameters.Add(new SqlParameter("@Datastore",swimTicket[itm].swimTicketData.Datastore));
您好,我在数据存储区附近遇到错误。在调试过程中,我仅在该行遇到问题。这是参数化查询“(@Id int,@State nvarchar(6),@Title nvarchar(57)的错误,@Datastore nvarc'需要参数'@Datastore',但未提供该参数。@user3011964我想您在存储过程中遇到了这个错误还是什么?我想这与这个问题无关。。
cmd.Parameters.Add(new SqlParameter("@Datastore",swimTicket[itm].swimTicketData.Datastore));