【问题标题】:How to add return value to stored procedure parameter in C#?如何在 C# 中为存储过程参数添加返回值?
【发布时间】:2014-03-26 23:13:04
【问题描述】:

我试图在我的数据库中调用一个存储过程,我在 c# 中调用了 InsertJ。 我的程序有一个输出参数,它是一个整数。

当我运行我的程序并输入要插入的值时,我收到一条异常消息:InsertJ 需要未提供的参数“@code”。

据我所知,我正确地提供了它。谁能帮我弄清楚我做错了什么?

 if(input == "insert")
     {
     insertCmd = new SqlCommand(insertStmt, conn);
     insertCmd.CommandType = CommandType.StoredProcedure;

    insertCmd.Parameters.Add("@jnum", SqlDbType.VarChar, 5);
    insertCmd.Parameters.Add("@jname", SqlDbType.VarChar, 20);
    insertCmd.Parameters.Add("@city", SqlDbType.VarChar, 10);
    SqlParameter ret = insertCmd.Parameters.Add("@code", SqlDbType.Int);//here
    ret.Direction = ParameterDirection.ReturnValue;//here
    insertCmd.Prepare();

【问题讨论】:

  • 如何设置ParameterDirection.Output?自从我处理 ado.net 以来已经有一段时间了;忘记这是不是问题。
  • @Smith.h.Neil 是的!把它作为一个答案,我选择了它。谢谢

标签: c# sql-server database stored-procedures ado.net


【解决方案1】:
ret.Direction = ParameterDirection.ReturnValue;

应该是:

ret.Direction = ParameterDirection.Output;

【讨论】:

    猜你喜欢
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多