私は次のコードを持っています。ブレークポイントを使用すると、["@myID"]という値が表示されます。値は2467などの実際の値です。ただし、tryParseの文字列としてキャストできません。私は以下のように "as string"を使用しようとしましたが、toString()も試みました。私のstringIDはnullのままなので、tryParseはmyIDの値をゼロのままにします。私はそれが普通の構文問題だと確信していますが、私は困惑しています。私は2467などの実際のIDを返す必要があります。このSQL出力パラメータがうまく動作しないのはなぜですか?
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;
}
「Convert.ToInt32」機能を使用することができます。 – Tariqulazam