过程或函数spUpdateDomain指定了太多参数。 [英] Procedure or function spUpdateDomain has too many arguments specified.

查看:61
本文介绍了过程或函数spUpdateDomain指定了太多参数。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我第一次插入成功插入数据SQL服务器并且第二次插入成功但第二次创建问题时,会出现此问题。

问题是过程或函数spUpdateDomain指定了太多参数

我的代码是。



C#代码是



 cmd.CommandType = CommandType.StoredProcedure; 
cmd.CommandText = spcontactInsert;
cmd.Parameters.AddWithValue( @ ContactName,UserName.Text);
cmd.Parameters.AddWithValue( @ ContactAddress,Address.Text);
cmd.Parameters.AddWithValue( @ ContactEmail,email);
cmd.Parameters.AddWithValue( @ PhoneNumber,phone);
cmd.Parameters.AddWithValue( @ FirstMobNumber,FirstNumber.Text);
cmd.Parameters.AddWithValue( @ SecondMobNumber,SecendNumber.Text);
cmd.Parameters.AddWithValue( @ ThirdMobNumber,txt.Text);
con.Open();
cmd.Connection = con;
int i = cmd.ExecuteNonQuery();
con.Close();







SQL Store程序代码



ALTER PROCEDURE [dbo]。[spcontactInsert]

@ContactName nvarchar(50),

@ContactAddress nvarchar(50),

@ContactEmail nvarchar(50),

@PhoneNumber nvarchar(50),

@FirstMobNumber bigint,

@SecondMobNumber bigint,

@ThirdMobNumber bigint

AS

BEGIN

如果不存在(从ContactDB选择FirstMobNumber) FirstMobNumber = @ FirstMobNumber)

开始

INSERT INTO ContactDB(ContactName,ContactAddress,ContactEmail,PhoneNumber,FirstMobNumber,SecondMobNumber,ThirdMobNumber)

VALUES( @ ContactName,@ ContactAddress,@ ContactEmail,@ PhoneNumber,@ FirstMobNumber,@ SecondMobNumber,@ ThirdMobNumber)

end

END











请解决我的问题

解决方案

< blockquote>我猜你的参数没有被清除。在添加参数之前添加此行:

 cmd.Parameters.Clear(); 



如果这样无法解决您的问题,请使用 SQL Profiler [ ^ ]查看确切传递给SQL的查询。在SQL查询分析器上尝试并执行它。


This problem is creating when i Insert data SQL server with store procedure first time insert successfully but second time problem is create .
The problem is Procedure or function spUpdateDomain has too many arguments specified
my code is.

C# Code is

cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "spcontactInsert";
cmd.Parameters.AddWithValue("@ContactName ", UserName.Text);
cmd.Parameters.AddWithValue("@ContactAddress ", Address.Text);
cmd.Parameters.AddWithValue("@ContactEmail  ", email);
cmd.Parameters.AddWithValue("@PhoneNumber  ", phone);
cmd.Parameters.AddWithValue("@FirstMobNumber  ", FirstNumber.Text);
cmd.Parameters.AddWithValue("@SecondMobNumber  ", SecendNumber.Text);
cmd.Parameters.AddWithValue("@ThirdMobNumber  ", txt.Text);
con.Open();
cmd.Connection = con;
int i = cmd.ExecuteNonQuery();
con.Close();




SQL Store Procedure Code

ALTER PROCEDURE [dbo].[spcontactInsert]
@ContactName nvarchar(50),
@ContactAddress nvarchar(50),
@ContactEmail nvarchar(50),
@PhoneNumber nvarchar(50),
@FirstMobNumber bigint,
@SecondMobNumber bigint,
@ThirdMobNumber bigint
AS
BEGIN
if not exists(Select FirstMobNumber from ContactDB where FirstMobNumber=@FirstMobNumber)
begin
INSERT INTO ContactDB(ContactName, ContactAddress, ContactEmail,PhoneNumber,FirstMobNumber, SecondMobNumber, ThirdMobNumber)
VALUES (@ContactName,@ContactAddress,@ContactEmail,@PhoneNumber,@FirstMobNumber,@SecondMobNumber,@ThirdMobNumber)
end
END





Pleease solve my problem

解决方案

I guess your parameters are not being cleared. Add this line just before adding the parameters:

cmd.Parameters.Clear();


If this doesn''t solve your problem, use an SQL Profiler[^] to see what query exactly is passed to SQL. Try and execute that on SQL Query Analyzer.


这篇关于过程或函数spUpdateDomain指定了太多参数。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆