C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.70149 の関連記事表示

<< 0 >>
■70149  データベースから最新200件を抽出
□投稿者/ DMM -(2014/02/26(Wed) 16:33:52)

    分類:[C#] 

    2014/02/26(Wed) 16:34:21 編集(投稿者)
    2014/02/26(Wed) 16:34:15 編集(投稿者)

    OS:Win 2008 Server
    言語:C# 2010
    DB: Access 2010

    上記開発環境にてDBプログラムを開発しています。

    DBから最新の200件のみ抽出して、
    DataGridViewに表示したいのですが、
    まったく方法が分かりません。

    おそらく、みなさんには簡単な事なのだろうと思いますが、
    お恥ずかしながら皆目見当も付いておりません。

    (参考)
    ・DBは不定期に更新
    ・更新頻度は数日に1回から1秒に数回までまちまち
    ・DBの行数は1から5万以上

    ご指導頂けたらと思います。
    よろしくお願いします。
親記事 /過去ログ119より / 関連記事表示
削除チェック/

■70154  Re[1]: データベースから最新200件を抽出
□投稿者/ 魔界の仮面弁士 -(2014/02/26(Wed) 17:12:16)
    No70149 (DMM さん) に返信
    > DBから最新の200件のみ抽出して、

    更新時刻を管理するフィールドを用意してあるなら、

    SELECT TOP 200 * FROM TableName ORDER BY 更新日時 DESC

    みたいな感じで如何でしょう。


    > DataGridViewに表示したいのですが、
    TableAdapter あるいは DataAdapter を使って、データを
    DataSet(DataTable) に読み込ませます。

    あとはそれを、DataGridView の DataSource プロパティに渡せば OK かと。


    http://hiros-dot.net/CS2005/Control/DataGridView/DataGridView01.htm

    Access 2010 の場合は、上記の「Provider=Microsoft.Jet.OLEDB.4.0;」のところを
    「Provider=Microsoft.ACE.OLEDB.12.0;」に変更してみてください。
記事No.70149 のレス /過去ログ119より / 関連記事表示
削除チェック/

■70177  Re[2]: データベースから最新200件を抽出
□投稿者/ DMM -(2014/02/27(Thu) 10:55:36)
    魔界の仮面弁士様

    DMMです。
    回答ありがとうございます。

    「TOP 200」なんてのがあったんですね。
    恥ずかしながら知りませんでした。

    DESCが降順というのも初めて知りました。
    おかげ様であと一歩のところまで来ています。

    更新時刻のフィールドが日付と時刻に分けられているため、

    OleDA = new System.Data.OleDb.OleDbDataAdapter("Select TOP 10 * from PRODUCTS ORDER BY 日時 DESC, 時刻 DESC", OleConn);

    としてみたのですが、

    OleDA.Fill(dtSet, "PRODUCTS");

    のところで、下記のエラーが表示されます。
    「1 つ以上の必要なパラメーターの値が設定されていません」

    ORDER BYに複数条件を渡すやり方が違うのでしょうが、
    私が調べた限りではカンマ区切りで問題なさそうなのでした。

    引き続きご教示頂ければと思います。
記事No.70149 のレス /過去ログ119より / 関連記事表示
削除チェック/

■70178  Re[3]: データベースから最新200件を抽出
□投稿者/ 魔界の仮面弁士 -(2014/02/27(Thu) 11:10:03)
    2014/02/27(Thu) 11:12:35 編集(投稿者)

    No70177 (DMM さん) に返信
    > 「1 つ以上の必要なパラメーターの値が設定されていません」

    SQL の「スペルミス」や「列名や表名に予約語が使われている」などの理由により、
    未定義のキーワードが、パラメータ変数と誤解されている状態です。

    指定した SQL が実行可能かどうか、直接 Access 2010 に貼り付けて確認してみてください。


    とりあえず、列名が「日付」ではなく「日時」になっている点が怪しそう。
記事No.70149 のレス /過去ログ119より / 関連記事表示
削除チェック/

■70180  Re[4]: データベースから最新200件を抽出
□投稿者/ DMM -(2014/02/27(Thu) 11:37:16)
    2014/02/27(Thu) 11:58:07 編集(投稿者)

    魔界の仮面弁士様

    DMMです。
    返信ありがとうございます。

    >列名が「日付」ではなく「日時」になっている点が怪しそう。

    おっしゃる通りでした。
    いや、お恥ずかしい限りです。

    おかげ様でやりたい処理が実現できました。
    ありがとうございました。
記事No.70149 のレス / END /過去ログ119より / 関連記事表示
削除チェック/

■70158  Re[1]: データベースから最新200件を抽出
□投稿者/ WebSurfer -(2014/02/26(Wed) 18:00:35)
記事No.70149 のレス /過去ログ119より / 関連記事表示
削除チェック/

■70179  Re[2]: データベースから最新200件を抽出
□投稿者/ DMM -(2014/02/27(Thu) 11:12:25)
    WebSurfer様

    DMMです。
    返信ありがとうございます。

    魔界の仮面弁士様より教えていただいた方法で
    今のところ前進しているようですので、
    まずはそちらで進めてみようと思います。

    色々と参考になるサイトをありがとうございました。
記事No.70149 のレス /過去ログ119より / 関連記事表示
削除チェック/

■70182  Re[3]: データベースから最新200件を抽出
□投稿者/ WebSurfer -(2014/02/27(Thu) 12:04:13)
    No70179 (DMM さん) に返信
    > WebSurfer様
    >
    > DMMです。
    > 返信ありがとうございます。
    >
    > 魔界の仮面弁士様より教えていただいた方法で
    > 今のところ前進しているようですので、
    > まずはそちらで進めてみようと思います。
    >

    DataGridView の表示するだけならその方が簡単かもしれませんね。

    もし、レコードの編集、更新、追加、削除等の操作が必要でしたら、先のレスのページを
    見てください。
記事No.70149 のレス /過去ログ119より / 関連記事表示
削除チェック/

■70183  Re[4]: データベースから最新200件を抽出
□投稿者/ DMM -(2014/02/27(Thu) 13:55:47)
    WebSurfer様

    DMMです。
    返信ありがとうございます。

    > もし、レコードの編集、更新、追加、削除等の操作が必要でしたら、先のレスのページを
    > 見てください。

    承知しました。
    ありがとうございました。
記事No.70149 のレス / END /過去ログ119より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -