Itu karena Anda mendefinisikan parameter di .NET sebagai ReturnValue yang sebenarnya sama dengan skenario di mana Anda menggunakan RETURN dalam prosedur tersimpan untuk mengembalikan integer (yang tidak Anda lakukan).
Sebagai gantinya, Anda perlu mendefinisikan parameter @strFailedEMPID sebagai ParameterDirection.Output dalam kode .NET Anda. Jika Anda ingin meneruskan nilai dalam DAN menerima nilai keluar melalui parameter, gunakan ParameterDirection.InputOutput.
Setelah menjalankan sproc, Anda cukup:
string value = lsqlCmd.Parameters["@strFailedEMPID"].value;
Jadi....
lsqlParam = new SqlParameter("@strFailedEMPID ", SqlDbType.VarChar);
lsqlParam.Value = "0";
lsqlParam.Direction = ParameterDirection.InputOutput;
lsqlCmd.Parameters.Add(lsqlParam);
lsqlCmd.ExecuteNonQuery();
string value = lsqlCmd.Parameters["@strFailedEMPID"].value;