2016-12-09 8 views
0

私はデータベースから新しいデータのみを取得するアプリケーションを作成しています。データベーステーブルに2つのレコードがあり、そのデータをグリッドビューで選択し、そのテーブルからデータをロードする前の2行をグリッドに入れたくない場合は、データベーステーブルで使用できる場合は新しい行が必要です。C#を使用してdataGridViewで新しいデータを取得

私が完了したこと データベーステーブルをgridviewにロードし、そのグリッドのカウントされた行。グリッドに行を追加し、グリッドに新しい行がある場合は、これらの新しい行を新しいデータテーブルに転送し、それらを新しいグリッドビューに割り当てます。このメソッドの 私は混乱しています。これは、以前にデータがロードされているので、1行だけが新たに追加された場合に有効です。

私が望むもの: 私は、以前のデータが表示されず、再び処理されないように、データベースに新しいレコードのみを読み込む最良の方法を望みます。 私を助けてください!

これは、これは私がデータを選択していたから、テーブルのスクリーンショットである第一のDataGridViewでiはデータをロードするために使用していたサンプルコード

using (var con = new SqlConnection(ConStr)) 
{ 
    string query = "SELECT * FROM CHECKINOUT"; 
    using (var cmd = new SqlCommand(query, con)) 
    { 
     con.Open(); 
     SqlDataAdapter da = new SqlDataAdapter(cmd); 
     DataSet ds = new DataSet(); 
     da.Fill(ds); 

     dataGridView1.DataSource = ds.Tables[0].DefaultView; 
    } 
} 

あります。 http://imgur.com/a/eIaQ6

+0

**次回**と言うとどうなりますか?ボタンのクリック、リロード? – Badiparmagi

+0

なぜ 'where' column_name 'が' a、b、c 'でないのかを選択するのはなぜですか?除外されたIDをグリッドから取得できますか?使用可能なIDがない場合、デフォルトのselectを実行します。 – FakeisMe

+0

私は10秒間隔のタイマーを持っていることを意味し、10秒後に再び同じクエリーを実行し、すべてのデータを選択します。 – Axad

答えて

1

表にInsertDateを追加します。あなたのコードでlastDataQueriedDateを維持してください。 あなたのクエリでこれら2つの日付を比較してください。

+0

私はデータベーステーブルのデザインを変更することはできません – Axad

0

私はコメントできませんので、私の提案や多分私の答えを投稿しようとします。

まず、Select Queryを修正してください。Select *を使用する場合、最新のデータを選択するにはどうすればよいですか?より良いSatishの答えから

第二には、データベースからすべてのデータのためのidentifierまたはclueを持っているDateInsertedのように新しい列を追加します。あなたのデータベースの設計を変更することができない場合

そして最後には、その後、データベースのrelateまたはlinkデータとはDateInsertedのように、そこに自分の識別子を挿入することができ、新しいテーブルを作成してみてください。

P.Sお試しSatish答え。それはより簡単です。

関連する問題