私は次のコードを持っています。ブレークポイントを使用すると、["@ myID"]。Valueが2467などの実際の値であることがわかります。ただし、tryParseの文字列としてキャストすることはできません。以下のように「asstring」を使ってみました。また、toString()も試しました。stringIDはnullのままなので、tryParseはmyID値をゼロのままにします。些細な構文の問題だと思いますが、困惑しています。2467などの実際のIDを返す必要があります。
public static int myMethod(string name)
{
Database myDB = DatabaseFactory.CreateDatabase("myDatabase");
DbCommand myCommand = myDB.GetStoredProcCommand("myStoredProc");
myDB.AddInParameter(myCommand, "@Name", DbType.String, name);
myDB.AddOutParameter(myCommand, "@myID", DbType.Int32, 4);
int myID = 0;
int test = myDB.ExecuteNonQuery(myCommand);
string stringID = myCommand.Parameters["@myID"].Value as string;
bool canParse = int.TryParse(stringID, out myID);
return myID;
}