c#调用存储过程!诡异的问题!

Eric__yang 2009-06-06 06:00:08
code=C#]
private void button1_Click(object sender, EventArgs e)
{
User user = new User();
user.DeleteUser(xm.Text.Trim());
}
public void DeleteUser(string Dlone)
{
SqlParameter PDlone = new SqlParameter("@PDlone", SqlDbType.VarChar);
PDlone.Value = Dlone;

string sp = "deluser";
SqlParameter[] dlparms = { PDlone };
AccessDatabase.ExecuteNonQuery(AccessDatabase.ConnectionString, CommandType.StoredProcedure , sp, dlparms );
}
public static int ExecuteNonQuery(string connectionString, CommandType cmdType, string cmdText, params SqlParameter[] commandParameters)
{
SqlCommand cmd = new SqlCommand();
SqlConnection conn = new SqlConnection(connectionString);
try
{
PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);
int val = cmd.ExecuteNonQuery();
//cmd.Parameters.Clear();
return val;
}
catch
{
// 异常:一旦出现异常则先显示关闭连接对象。然后再将异常抛出。
conn.Close();
throw;

}

}
[/code]
这个事件运行时总是报错:‘过程或函数 'deluser' 需要参数 '@name',但未提供该参数。’但是我已经把参数给了,查了几遍都没有看出问题来。大家帮帮忙,看看可能哪里的问题,我再调试。谢谢各位了!
[/code]
...全文
48 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
yingzhilian2008 2009-06-08
  • 打赏
  • 举报
回复
那恭喜了
Eric__yang 2009-06-06
  • 打赏
  • 举报
回复
这个问题解决了。谢谢了!就是那里的问题:
SqlParameter PDlone = new SqlParameter("@PDlone", SqlDbType.VarChar);
中的@PDlone改成@name
你存储过程需要的是@name参数,不是@PDlone参数
JonasFeng 2009-06-06
  • 打赏
  • 举报
回复
楼主仔细看看,
你就是没有为@name 赋值呀。
conan304 2009-06-06
  • 打赏
  • 举报
回复
SqlParameter PDlone = new SqlParameter("@PDlone", SqlDbType.VarChar);
中的@PDlone改成@name
你存储过程需要的是@name参数,不是@PDlone参数

public void DeleteUser(string Dlone) 
{
SqlParameter PDlone = new SqlParameter("@name", SqlDbType.VarChar,15);
PDlone.Value = Dlone;

string sp = "deluser";
SqlParameter[] dlparms = { PDlone };
AccessDatabase.ExecuteNonQuery(AccessDatabase.ConnectionString, CommandType.StoredProcedure , sp, dlparms );
}
Eric__yang 2009-06-06
  • 打赏
  • 举报
回复
create procedure deluser
@name varchar(15)
as
delete from 会员表 where 姓名=@name
go
谢谢各位了。刚才去吃饭。这是我的存储过程。在数据库里面可以运行的。
white_dos 2009-06-06
  • 打赏
  • 举报
回复
或者你没有为@name提供值,断点跟踪一下,说不定值是空的,就是提示这种错
conan304 2009-06-06
  • 打赏
  • 举报
回复
你只提供了@PDlone参数,@name参数没提供啊??
存储过程贴出来
Eric__yang 2009-06-06
  • 打赏
  • 举报
回复
大哥,请指教下啊。哪里有答案也可以!!!叩谢了
--小F-- 2009-06-06
  • 打赏
  • 举报
回复
不懂 请高手指点
jiangshun 2009-06-06
  • 打赏
  • 举报
回复
最近怎么这多人遇到这样的问题啊

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧