2017-09-08 8 views
0

これについてお手数ですが、少し混乱します。 私はこのコードをPage_LoadEF奇妙なnullreferenceException同じコードが既に使用されていて、動作しています

Dim db As dbVulcanoEntities 
Dim intervento As Interventi 
Dim idint As Integer 
idint = Request.QueryString("idint") 
intervento = db.Interventi.Where(Function(i) i.IDInt = idint).Single 

で呼ばれるサブにそれが最後の行に失敗する(デバッグ中に、私はidintが値を持っていることを参照)、私はデシベルを照会すると、私は1つのレコードを取得しています。 奇妙なことに、同じプロジェクトの別のページ(正確には1回以上)で同じコードを使用していて、問題なく動作しているということです... なぜここで動作していないのかわかりません...ヒント! ?私はこの

If db.Interventi.Any(Function(i) i.IDInt = idint) Then 

のような条件を追加しようとしました が、それもそれに合格しないので、私はそれが「i.IDInt = idint」の部分を好きではないと思います。

EDITありがとう何らかの理由で。

+0

idintはinterventiテーブルの整数フィールドです。この場合、クエリーストリングによってあるページから別のページに渡され、デバッグではその値を見ることができます。上記のEDITを参照してください。また、クエリーストリングでconvert.toint32を使用しようとしましたが、とにかく失敗します。 –

+1

'db as new dbVulcanoEntities'を宣言する必要があります。また、これを[Using Statement](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/using-statement)に実装することを検討してください。 –

+0

_ "既に同じコードが使用されていて働いていた" _私は強く疑う; –

答えて

1

dbローカル変数に決して値を割り当てないので、投稿されたコードは実際にNullReferenceExceptionを生成するので、それはNothingであると予想しています。

+0

新しいタグを忘れました! Dim dbのようにO_o新しいdbVulcanoEntitiesとして。それを指摘していただきありがとうございます –

関連する問題