このプログラムです。

CMD.CommandType = CommandType.StoredProcedure
Dim com_name As SqlParameter = CMD.Parameters.Add("@com_name", SqlDbType.VarChar, 40)
com_name.Direction = ParameterDirection.Output
Dim record_id As SqlParameter = CMD.Parameters.Add("@record_id", SqlDbType.Int)
record_id.Value = Me.DataGrid1.SelectedItem.Cells(1).Text
CN.Open()
CMD.ExecuteNonQuery()
CN.Close()
Me.Tex_com_name.Text = com_name.Value

record_id.Valueには数値がきちんと入り、ストアドプロシージャの方ではデータは拾えているようです。
CN.Close()は最後にしても差はなく、com_name.ValueはDBNULLとなって帰ってきます。
DataGrid等は拾えるのですが、ひょっとしてCN.Open()の後に
Dim dr As SqlDataReader = CMD.ExecuteReader()を入れないとダメなのでしょうか?
入れてあげて、CN.Close()を最後に持っていった場合はNothingとなります・・・(涙
タスケテ