2017-07-19 3 views
0

SQLデータベーステーブルにデータを表示するこのdatadridviewがあります。ここでは、SQLDataAdapterとDataTable()を使用しました。以下のコードスニペットを参照してください。スカラ変数を使用したSQLクエリにDatagridviewが設定されない

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

       SqlComm.Connection = SqlConn; 

       SqlComm.CommandText = ("SELECT * FROM MyDataTable WHERE DataID = @SDataID"); 
       SqlComm.Parameters.AddWithValue("@SDataID", txtDataID.Text); 
       SqlDataTable = new DataTable(); 

       SqlAdapt = new SqlDataAdapter(SqlComm); 

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

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

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

I)は、(問題がSQLのQueryStringまたはSqlAdapt.Fillのいずれかであると思いますが、私は問題を理解することはできません。誰かが私にこのことを助けてください。 を@SDataIDスカラー変数に値を渡すとき

おかげで、 Chiranthaka私の場合は実際に

+0

'SqlDataTable'にデータがありますか? –

+0

SqlDataTableは、データベーステーブルMyDataTableのデータを格納し、SqlComm.CommandText =()のクエリ文字列に従ってフィルタ処理する必要があります。しかし、私はデータを取得していません。 – ChiranthakaJ

+0

以下のコードスニペットをSQL文として試しましたが、結果を取得できませんでした。 'SqlComm.CommandText =" SELECT *からMyDataTable WHERE(DataID LIKE @SDataID) "; SqlComm.Parameters.AddWithValue( "@ SDataID"、txtDataID.Text); ' – ChiranthakaJ

答えて

0

は、エラーが原因誤植に発生しました。そのため、SQL文の構文は正しいです。以下の正しいSQLステートメントを参照してください。

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

       SqlComm = new SqlCommand(); 
       SqlComm.Connection = SqlConn; 
       SqlComm.CommandText = "SELECT * FROM MyDataTable WHERE (DataID LIKE @SDataID)"; 
       SqlComm.Parameters.AddWithValue("@SDataID", txtSrcDataID.Text); 

       SqlDataTable = new DataTable(); 
       SqlAdapt = new SqlDataAdapter(SqlComm); 
       SqlAdapt.Fill(SqlDataTable); 

       dgvInsertInfo.DataSource = SqlDataTable; 

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

ここで、データはDataGridViewで正しく設定されています。

ありがとうございました。

関連する問題