2016-09-07 9 views
0

6つのテキストボックスを持つレポート画面があります。私は、チェックボックスをチェックし、SQLクエリでデータベース内のデータを探します。レポートを生成するためにボタンをクリックすると、グリッドビューにデータが表示されません。私はツールボックスから画面にグリッドビューを貼り付け、C#コードとSQ​​Lコマンドで塗りつぶしたいと思っています。何か不足していますか?データベースからのデータでグリッドビューを塗りつぶす

protected void Button1_Click(object sender, EventArgs e) 
{ 
    connect = new SqlConnection(@"Data Source=LP12;Initial Catalog=SmmsData;Integrated Security=True"); 
    connect.Open(); 

    SqlCommand cmd = new SqlCommand(); 
    cmd.Connection = connect; 
     cmd.CommandText = "SELECT DrukSensor, FlowSensor, TempSensor, KwaliteitSensor, Toerental, OlieVerbruik" 
     + " FROM SysteemSensorInfo" 
     + " WHERE [email protected]" 
     + " AND [email protected]" 
     + " AND [email protected]" 
     + " AND [email protected]" 
     + " AND [email protected]" 
     + " AND [email protected]" 
     ; 

    cmd.Parameters.Add("@DrukSensor", SqlDbType.Bit); 
    cmd.Parameters.Add("@FlowSensor", SqlDbType.Bit); 
    cmd.Parameters.Add("@TempSensor", SqlDbType.Bit); 
    cmd.Parameters.Add("@KwaliteitSensor", SqlDbType.Bit); 
    cmd.Parameters.Add("@Toerental", SqlDbType.Bit); 
    cmd.Parameters.Add("@OlieVerbruik", SqlDbType.Bit); 

    cmd.Parameters["@DrukSensor"].Value = CheckBoxDruk.Checked; 
    cmd.Parameters["@FlowSensor"].Value = CheckBoxFlow.Checked; 
    cmd.Parameters["@TempSensor"].Value = CheckBoxTemp.Checked; 
    cmd.Parameters["@KwaliteitSensor"].Value = CheckKwaliteit.Checked; 
    cmd.Parameters["@Toerental"].Value = CheckBoxToerenTal.Checked; 
    cmd.Parameters["@OlieVerbruik"].Value = CheckBoxOlieVerbruik.Checked; 

    DataSet ds = new DataSet(); 
    new SqlDataAdapter(cmd).Fill(ds); 
    GridView1.DataSource = ds.Tables[0]; 
    GridView1.AutoGenerateColumns = true; 
} 

答えて

1

あなたはgridviewdataをバインドされていません。あなたのGridView

DataSet ds = new DataSet(); 
 
new SqlDataAdapter(cmd).Fill(ds); 
 
GridView1.DataSource = ds.Tables[0]; 
 
GridView1.DataBind(); 
 
GridView1.AutoGenerateColumns = true;

+0

感謝を問題だった。今私はまた、チェックボックスのチェックで私のクエリが動作していないことを知っている! –

0

使用BindDataを使用するGridViewにバインドするデータはこれを試してみてください。その

connect = new SqlConnection(@"Data Source=LP12;Initial Catalog=SmmsData;Integrated Security=True"); 
    connect.Open(); 
    SqlCommand cmd = new SqlCommand(); 
    cmd.Connection = connect; 
    sqlCmd.CommandType = CommandType.Text; 
     cmd.CommandText = "SELECT DrukSensor, FlowSensor, TempSensor, KwaliteitSensor, Toerental, OlieVerbruik" 
     + " FROM SysteemSensorInfo" 
     + " WHERE [email protected]" 
     + " AND [email protected]" 
     + " AND [email protected]" 
     + " AND [email protected]" 
     + " AND [email protected]" 
     + " AND [email protected]" 
     ; 
    cmd.Parameters.Add("@DrukSensor", SqlDbType.Bit); 
    cmd.Parameters.Add("@FlowSensor", SqlDbType.Bit); 
    cmd.Parameters.Add("@TempSensor", SqlDbType.Bit); 
    cmd.Parameters.Add("@KwaliteitSensor", SqlDbType.Bit); 
    cmd.Parameters.Add("@Toerental", SqlDbType.Bit); 
    cmd.Parameters.Add("@OlieVerbruik", SqlDbType.Bit); 
    cmd.Parameters["@DrukSensor"].Value = CheckBoxDruk.Checked; 
    cmd.Parameters["@FlowSensor"].Value = CheckBoxFlow.Checked; 
    cmd.Parameters["@TempSensor"].Value = CheckBoxTemp.Checked; 
    cmd.Parameters["@KwaliteitSensor"].Value = CheckKwaliteit.Checked; 
    cmd.Parameters["@Toerental"].Value = CheckBoxToerenTal.Checked; 
    cmd.Parameters["@OlieVerbruik"].Value = CheckBoxOlieVerbruik.Checked; 
    SqlDataAdapter sqlDataAdap = new SqlDataAdapter(sqlCmd);. 
    DataTable dtRecord = new DataTable(); 
    sqlDataAdap.Fill(dtRecord); 
    GridView1.DataSource = dtRecord;  
    GridView1.AutoGenerateColumns = true; 
}   
0

にすべてのデータを結合し、あなたのGridViewにDataBind

GridView1.DataSource = ds.Tables[0]; 
GridView1.DataBind(); 
関連する問題