运行时异常需要参数' @ OE_ID',这是未提供的

时间:2013-04-26 01:07:15

标签: sql vb.net stored-procedures parameters

CREATE PROCEDURE DeletetblOfficeEquipmentProfileRecord
@OE_ID  varchar(11)
AS
BEGIN
DELETE FROM [EOEMS].[dbo].[tblOfficeEquipmentProfile]
WHERE [OE_ID]=@OE_ID
END
RETURN
GO


  Dim cmd As SqlCommand = sqlconn.CreateCommand
  sqlconn.Open()
  cmd.CommandType = CommandType.StoredProcedure
  cmd.Parameters.Add("@OE_ID", SqlDbType.VarChar, 11, "oeq-su-001")
  cmd.Parameters("@OE_ID").Value = "oeq-su-001"
  cmd.CommandText = "DeletetblOfficeEquipmentProfileRecord"
  cmd.ExecuteNonQuery()
  sqlconn.Close()

想出新代码,oeq-su-001是我数据库中OE_ID的示例之一。

1 个答案:

答案 0 :(得分:0)

SqlParameter(string,SqlDbType,int)创建一个没有值且默认方向为“input”的SqlParameter。
Parameters.Add(SqlParameter)将参数添加到集合中。

您可以使用Parameters.Add(string, SqlDbType, int, Object)或在调用ExecuteNonQuery之前设置值。

e.g。

cmd.Parameters.Add("@OE_ID", SqlDbType.VarChar, 11, "123")

cmd.Parameters("@OE_ID").Value = "123"