2017-07-18 11 views
-1

DatagridViewにSQLクエリ文字列を設定しようとしています。私のコードは以下の通りです。DataGridViewにSQLクエリ文字列を使用してC#でヌル参照エラーが発生すると、SQLクエリ文字列を使用する

private void btnSrcDataID_Click(object sender, EventArgs e) 
     { 
      try 
      { 
       dgvInsertInfo.Refresh(); 

       SqlComm.Connection = SqlConn; 

       String sqlQueryString = ("SELECT * FROM MyDataTable WHERE  
       [email protected]"); 
       SqlComm.Parameters.AddWithValue("@DataID", txtDataID.Text); 

       SqlComm = new SqlCommand(sqlQueryString, SqlConn); 
       SqlDataTable = new DataTable(); 

       SqlAdapt = new SqlDataAdapter(SqlComm); 

       DataSet dsQryDataId = new DataSet(); 
       SqlAdapt.Fill(dsQryDataId); 

      //Passing data to DatagridView 
       dgvInsertInfo.DataSource = dsQryDataId; 

      } 
      catch (Exception ex) 
       { 
       MessageBox.Show(ex.Message); 
       } 
      } 

このクエリは、@DataIdパラメータから渡された値に従ってデータを取得します。その結果、DataGridViewにデータが読み込まれます。

以下のようなエラーが表示されます。

enter image description here

私の宣言の一つが正常にキャプチャされていないようです。このエラーが発生するようにします。私が間違ったことを理解できません。

おかげに関して、 Chiranthaka

+1

を宣言してください。オブジェクトを 'new'に設定する必要があります。これは... 'SqlComm.Connection = SqlConn;'、 'SqlComm.Connection = new SqlConn; 'にする必要があるかもしれません。論理をたどるか、それに続くブレークポイントを設定してください。 –

+0

ブレークポイントを設定してtxtDataID.txtの値を調べてみましたが、手動でパラメータ値として渡されたSPを実行しましたか?また、 'dgvInsertInfo.DataBind();'を呼び出しましたか? –

+0

SqlComm.Parameters.AddWithValueを使用する前にSqlCommが存在しない可能性があります。 – user6144226

答えて

1

は、このエラーを与えて、クエリではありません@DataIDこの変数

関連する問題