不知道你所需要的是不是下面这种:
如果你在存储过程中定义了 BookID 为返回值,则:
conn.Open()
comm.ExecuteNonQuery()
Dim BookID As Integer
BookID = comm.Parameters("@BookID").Value
conn.Close()

解决方案 »

  1.   

    是return值吗?
    可以
     privateParameterObject = privateCommandObject.Parameters.Add("RETURN VALUE", SqlDbType.Int)   'Used as Retur Value
                privateParameterObject.Direction = ParameterDirection.ReturnValue
      

  2.   

    1.假设存储过程定义了@ret 来保存你想返回的值,然后return @ret
    2.
    string ret;//假设用ret来接受返回值
    cnn.Open();
    SqlCommand cmd = new SqlCommand();
    cmd.Connection = cnn;
    cmd.CommandType = CommandType.StoredProcedure;
    cmd.CommandText = "你的存储过程名称";
    cmd.Parameters.Add("@ret" , SqlDbType.VarChar , 50);
    cmd.Parameters[0].Direction = ParameterDirection.Output;
    cmd.ExecuteNonQuery();
    ret = cmd.Parameters[0].Value.ToString() ;
    cnn.Close();
      

  3.   

    create proc test @vary1 decimal output
    as ....然后再用cmd.parameters取到返回的值就可以啦