SqlConnection con = new SqlConnection(@"Data Source=DESKTOP-IBPJNA2;Initial Catalog=GeometryFINAL;Integrated Security=True");
SqlCommand cmd;
SqlDataReader rdr;
int intOrderNo = (int)Session["sOrderNo"]; //error is here
String strSql = "SELECT iProductID FROM orderItemsTable WHERE iOrderNo = " + intOrderNo;
cmd = new SqlCommand(strSql, con);
答えて
Session["sOrderNo"]
に値が設定されていることを確認してください。それが存在しないか、値が整数に変換できないように見えます。あなたは何ができるか
は次のとおりです。
SqlConnection con = new SqlConnection(@"Data Source=DESKTOP-IBPJNA2;Initial Catalog=GeometryFINAL;Integrated Security=True");
SqlCommand cmd;
SqlDataReader rdr;
if (Session["sOrderNo"] != null)
{
int intOrderNo = 0;
bool result = Int32.TryParse(Session["sOrderNo"], out intOrderNo);
if (result)
{
String strSql = "SELECT iProductID FROM orderItemsTable WHERE iOrderNo = " + intOrderNo;
cmd = new SqlCommand(strSql, con);
}
else
{
//values are not convertable to integer....
}
}
else
{
//your session variable doesn't exist....
}
前に確認してください必要
を設定するとint型が存在しない、またはしません変数orderno
にセッション値を割り当てるときには、2つの可能性があります。
Session["sOrderNo"]
はまだSession["sOrderNo"]
は、任意の値が含まれていない初期化されていません。
ので、この2つのケースを処理するために最善の方法は、あなたがそのエラー行にブレークポイントを設定し、そのセッション変数の中にあるものを見てみたい
int intOrderNo = 0;
if(Session["sOrderNo"]!=null)
{
intOrderNo = Convert.ToInt32(Session["sOrderNo"]);
}
このコードは例外をスローすることもできますが、代わりに 'TryParse'を使用してください。 –
@AlexanderHigginsとワットアウェイ? 、Convert.ToInt32'はnullreference例外をスローしませんし、 'exist'ケースを処理しています。どこが間違っていますか? – Webruster
セッション["sOrderNo"] = "true"; intOrderNo = Convert.ToInt32(セッション["sOrderNo"]); –
- 1. 指定されたキャストが無効
- 2. C#要求ハンドラエラーSystem.InvalidCastException:指定されたキャストが無効です
- 3. LINQ to SQL削除 "指定されたキャストが無効です"エラー
- 4. 指定されたキャストは無効です.. SQLデータレコード
- 5. エラー:指定されたキャストは無効です。 Xaml
- 6. 指定されたキャストは無効です。c#
- 7. Oracle Entity Framework '指定されたキャストが無効です' GetDecimal
- 8. System.InvalidCastException:指定されたキャストが無効です。 Xamarinで
- 9. Xamarin.Forms.Platform.iOS.ViewCellRenderer.GetCell例外:指定されたキャストが無効です
- 10. SQL "指定されたデータ型が無効です"エラー
- 11. System.InvalidCastException:指定されたキャストがeditText.AddTextChangedListenerで無効です
- 12. Xamarin.Forms Binding指定されたキャストが無効です
- 13. System.InvalidCastException:指定されたキャストが無効です。 - DynamoDBクエリ
- 14. DataReader:指定されたキャストが無効です(Int32)
- 15. Linq ToデータセットエラーSystem.InvalidCastException:指定されたキャストが無効です
- 16. 指定されたキャストがSQL行からGUIDに無効です
- 17. LINQ SQL Server CEから選択:指定されたキャストが無効です
- 18. 指定されたキャストはsharepoint.linq.dllで無効です
- 19. ASP.NETで指定されたキャストは無効ですか?
- 20. sqlカラムがnullまたはtinyintの場合、指定されたキャストは無効なエラーです
- 21. 指定されたキャストは無効です
- 22. 指定されたキャストは無効です。 ListViewとLinq
- 23. Dapperが「指定されたキャストは無効です。」 ReturnValueパラメータ値のため
- 24. 400エラー - 指定された場所が無効です
- 25. 指定されたusercontextが無効なエラーです
- 26. 指定されたMVC C#スキーマが無効です
- 27. メソッドにオブジェクト変数を渡す - 指定されたキャストが無効です
- 28. System.InvalidCastExceptionを修正する方法:指定されたキャストが無効です
- 29. 指定されたキャストは、C#
- 30. ASP Web APIで無効なパラメータが指定された場合にエラーを返します
です。 – Win