2016-04-15 14 views
0

このタイトルの下に記事がありましたが、私はそれらを私のエラーに関連付けることはできません。私はUniの割り当ての一環として模擬質問ページを一緒にまとめることを試みており、このスクリプトに遭遇しました。 2つの形式があります.1つはデータグリッドに設定されたクエリを実行します。これは動作しますが、下の別のページスクリプトではNullReferenceExceptionです。コードは作業フォームとまったく同じですので何が問題なのですか? VB NullReferenceExceptionが処理されていません

Public Class Adding_Information 

'Dim SQL As New SQLControl 
Private SQL As New SQLControl 
Public Property DGV_SetQueries As Object 



Private Sub btnCustomerFind_Click(sender As Object, e As EventArgs) Handles btnCustomerFind.Click 
    If txtCustomerName.Text <> "" Then 

     If SQL.HasConnection = True Then 
      Dim dgv_QueryData As Object = Nothing 
      dgv_QueryData.DataSource = SQL.SQLDataset.Tables(0) 
      'Create a query variable 
      Dim query As String = "Select 
           Customer.Title, 
           Customer.Firstname, 
           Customer.Surname, 
           Customer.Email, 
           Customer.MobileNo, 
           Customer.Postcode, 
           Customer.Regno 
          From 
           Customer 
          Where 
           Customer.Surname = 'Fletcher' 
          Order By 
           Customer.Firstname" 

      SQL.RunQuery(query) 

      If SQL.SQLDataset.Tables.Count > 0 Then 

       'ensure that there is only one table 
       DataGridView1.DataSource = SQL.SQLDataset.Tables(0) 

      End If 

     End If 

    End If 

End Sub 

Private Sub DGV_SetQueries_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) 

End Sub 

Private Sub DataGridView1_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick 

End Sub 
End Class 

DataGridView

datagridview1と呼ばれ、 hasconnectionは、SQLサーバーへの接続チェックです。誰かが何かを見つけましたか?

+0

どのラインでエラーが表示されますか?私の好みにあまりにも多くの 'As Object'定義があります。確かにそれらはいくつかの異なる型ですが、私の推測は' SQL.SQLDataset.Tables(0) 'では' SQLDataset'か 'Tables(0)'のどちらかが何もないことです'SQLControl'オブジェクト(それが何であれ*)に何か起こっていることを示すコードはありません。 – Plutonix

+0

文字列=「選択したようSQL.HasConnection =オブジェクトとして真その後
薄暗いdgv_QueryData =何も
>>>> dgv_QueryData.DataSource = SQL.SQLDataset.Tables(0)
は、「クエリ変数
薄暗いクエリを作成した場合
sqlcontrolは、接続と –

+0

の機能を持つクラスフォームです...私は、最初に参照される前に/と 'SQL'を使って何もするコードがないので、' SQLDataset'と'テーブル(0)'はNothingです – Plutonix

答えて

2

これは答えかコメントでなければなりませんが...エラーは辛いほど明白です。

If SQL.HasConnection = True Then 
     Dim dgv_QueryData As Object = Nothing 
     dgv_QueryData.DataSource = SQL.SQLDataset.Tables(0) 

あなたは、その「データソース」プロパティにアクセスしようとし、それを使用してすぐにし、「何も」と「にdgv_QueryData」を初期化している...あなたは、何かに別の変数または「新規」のいずれかを、それを初期化する必要があります...

+0

いいえ、彼はそれを使用しようとしていません、コードは何かを割り当てています。問題は 'SQLDataset'がNothing – Plutonix

+0

である可能性が高いですが、' dgv_QueryData'が 'Nothing'ならば、どのように' DataSource'プロパティにアクセスできますか?最後の行は 'Nothing.DataSource = SQL.SQLDataset.Tables(0)'に翻訳されます –

+0

ああ!申し訳ありませんが、それは別の考えられる原因です。 – Plutonix

関連する問題