• ベストアンサー

C#上でデータベースのコピーを作るには?

調べてもなかなかわからないので質問します。 VS2008上でC#のプログラムを作っています。 データベースをdatasetし、そのレコードを加工して、変更されたデータベースを別のファイルとして保存するというのをボタン1クリックでしたいと思っています。 マウスを使ってデータベースを作ったりするのはわかるのですが、変更されたデータベースをプログラムで別ファイルに保存する方法などがよくわかりません。 まとめますと、 1.1レコードごとに判定でデータを加工する方法(手順) 2.変更されたデータベースを別ファイルで保存する方法 を教えていただきたく思います。 ヒントなり参考サイトなりを教えていただけるだけでも助かります。お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.2

鶏と卵みたいなことですが、アタッチする前に対象のMDFファイルを変更したい名前で「コピー」し、 そのコピーした方のMDFをアタッチしてデータを更新すればよいと思います。

mac-dows
質問者

お礼

ありがとうございました。 datasetを使って、mdfファイルのレコードデータを変更することができました。

その他の回答 (1)

  • Pakkun10
  • ベストアンサー率44% (22/50)
回答No.1

まず、ここでいうデータベースというのは何ですか? 具体的にDataSetのデータをどういう形式のファイルで保存したいのでしょうか?

mac-dows
質問者

補足

レスポンスありがとうございます。 説明不足で済みません。 データベースというよりは拡張子mdfのテーブル1枚のことです。 テーブルデータを使ってテストをするのですが、個人情報を含む行があるので、その行に関して内容を変更し、新たにmdfファイルとして保存するということをしたいと思ってます。ですので形式としては同じファイル(mdf)で保存したいです。 開発環境はVS2008+SQLServer05です。

関連するQ&A

  • Access 2003で動画の再生ができるデータベースを作るには

    Access 2003で動画の再生ができるデータベースを作るには OS:WinXP Access Ver.2003 動画の数:約150ファイルくらい 構想:フォームの中に動画を検索する為のコンボボックスと検索された動画のレコードを複数行表示するサブフォームと動画を再生するためのコマンドボタンを配置する。 実行時:サブフォームに表示された複数のレコードの中から見たい動画ファイルのあるレコードをマウスかカーソルで選択してから、動画再生ボタンを押すと動画が実行されるようにしたい。 一般的に、ハイパーリンクで動画ファイルを起動する方法もあると思いますが、 動画再生コマンドボタンを押すことで動画ファイルを実行したい。 サブフォームに複数表示されたレコードの中からマウスかカーソルで1つのレコードを選択してカレントレコードとした後の処理についての質問です。 質問:(1)カレントレコードのフィールドにデータとして記載されている動画ファイル名を取得する方法     (2)動画再生用コマンドボタンでshell関数を使って、その動画ファイルを実行する方法   このようなプログラムを作りたくて悪戦苦闘しているAccess初心者です。 関連する項目に対してネットや本なども探しましたが、ヒントになるような記事は見あたらなかった。 こうすれば出来るんじゃないかというヒントでも結構ですから、是非御教授願えればと思います。

  • DataGridの中身をDataSetにテーブルとして保存する方法 (初心者)

    VB.NET2003でDataSetにテーブルを作成して、データベース(SQLServer2000)にあるテーブルを引っ張ってきて、そのDataSetのテーブルをDataGridに渡して、表示までは出来たのですが、DataGridの中身を変更した後、違うDataSetに保存する方法が分かりません。どなたか教えてください。

  • [C#]データベース(mdf)のデータ更新について

    Visual Stadio 2013でC#を使っています。 その中で、データベースを使いたいのですが、 データの更新が不便だったので質問させてください。 プログラム上から実行して指定のテーブルのデータを変更しても、 再度起動すると反映されていません。 bin -> Debugの中にあるビルドしたexeファイルを実行して データ更新すると、ツールを再起動してもデータは変更されていました。 しかし、この後プログラムから実行するとデータが元の戻ってしまいます。 プログラムから実行と、ビルドされた時では参考にしているDBファイルが違うせいなのかなと思うのですが、これをどちらから実行しても同じDBファイルが書き換わるように変更する方法はあるのでしょうか? よろしくお願いします。

  • VB.netでmdbのレコードを取得

    VB.netからAccessで作成したデータベースのレコードを 取得するプログラムを作りたいと考えています。 ですが、データベースを操作するプログラムは初めてですので、 どうもイメージがわきません。 やりたいことは、 1.VBからmdbにアクセス(DAO) 2.SELECTでレコードを取得 3.取得したレコードから必要なフィールドをテキストボックに表示 上記の処理が可能であれば、コーディングのヒントを頂けないでしょうか? よろしくお願いします --- OS:Windows Vista 開発環境:VS2005 pro

  • VB.NET 2008 データベースの接続の方法について教えてください

    VB.NET 2008 データベースの接続の方法について教えてください。 VB6から2008へ乗り換え中の初心者です。 作成しているプログラムでは、DATASETデザイナでデータベースに接続し、 「TABLEADAPTER」を利用して、画面にテキストボックスを作成しています。 また、それとは別に標準モジュールの中で、「OleDb.OleDbDataAdapter」を記述して、 データベースからデータを取得しています。 そこで質問なのですが、 ・VB2008において、このように標準モジュールにおいては、ソースを記述して  「OleDb.OleDbDataAdapter」を用いる方法が正しいのでしょうか?  (フォーム側は項目も多いためTABLEADAPTERから項目を貼り付けるのが便利で助かっています。) ・そして、このように2種類の接続を用いた場合に、  データベースの名前や、ユーザ名、パスワードをINIファイル等から取得するには  どのようにすればいいでしょうか?  色々とサイトを検索して「OleDb.OleDbDataAdapter」側はINIファイルから  取得する方法を見つけたのですが、  フォーム側のデータソースの情報も同じ様にINIファイルから取得出来るのでしょうか?  (プロジェクトのプロパティに記述されている事はなんとかみつけたのですが・・・   どの様にすればいいか分かりません。) 分かりにくい文章とは思いますが、お許しください。 どうぞご教示お願いします。

  • 他人がデーターベースを開いている時のフォームコピー

    Microsoft Access2003について。 データーベースは複数人で開いて、同時に編集が可能となっています。 サーバーに置いてあるAccessファイルをあるPCで開いている時に、別のPCから同じファイルを開いて、フォームをコピーすることはできないのでしょうか。 コピーしたいフォームそのものは、自分も含めてどのPCからも表示させていません。単にmdbファイルを開いてデーターベースウィンドウが表示されている状態です。 その状態で、コピーしたいフォームをクリックして、コピー、貼り付けを行うと、「排他モードで開いていないので、デザインの変更はできません」とエラーになります。同じ状態でもクエリーや、テーブルだとコピーできます。 何をしたいのかと言うと集計を行った結果を、個人別に表示させたいと思っています。 集計結果を自分専用テーブルを作成して格納する所までは難無く完成したのですが、かっこよく見せるためにフォームの原形を用意して、個人別に表示する時にそれをCopyObjectでコピーして、RecordSourceプロパティにて参照テーブルを変更、表示させようとした所でつまずいています。 当然、自分しかそのファイルを開いていない時は、フォームのコピーもできるし集計結果を表示する事ができますので、プログラム自体は間違っていないと思います。 今の所、頻繁に集計する事はなく他人と競合する確率は少ないので、困り度は再低レベルにしますが、何か方法があれば、今後ヘビーユースが予想されるデーターベースへも応用したいと考えています。

  • データベースの変更を監視

    こんにちは Postgresqlを使ってデータベースを構築しています。そのデータベースに更新などの変更が加えられたかを外部のプログラムでリアルタイムに監視をしたいのですが、どうのようにすれば良いか教えてください。プログラムはC言語で書こうと考えています。 今は、Postgresqlの"pg_log"にあるログファイルを見て変更があったかを調べようと考えています。 よろしくお願いします。

  • データベースシステムの主たる目的は?

    次のような問題を解いておりますが、分かりません Q データベース・システムの主たる目的は次のどれのために単一の保存場所を持つためであるか 選択肢 (1)ファイル (2)レコード (3)データベース (4)データ項目 答えは(4)ですが、なぜ(4)なのか教えてください

  • データベース

    手順ですが (1)COBOLで必要なレコードをホストのマスターから 抜き出しファイルを作成する。 (2)このファイルをCSVに変換してファイルサーバーに 転送する。 (3)csvファイルを利用してリストなどにする (1)、(2)までできたとして これ以降の処理で ファイルサーバーのCSVファイルを データベースを利用したいと考えています。 例えばAccessのリンクテーブルとして csvファイルを紐付ければできそうな気がしますが 前のデータが上書きされるのはさけたいです。 なにから勉強してよいかも迷っているので アドバイスをいただけると助かります 関心があるのは Access(少し勉強しています)とVisual basic.netです

  • MySQLでデータベースを一つのファイルにひたすら保存していいのか

    MySQLでデータベースを一つのファイルにひたすら保存していいのか PHPでMySQLを使用しています。 データベースを作る時は以前から二つの方法を使っています。 ・データベースファイルを一定のデータ量になると分割する方法 ・データベースファイルを分割せず一つのファイルにひたすら保存していく方法 これはどっちがいいのでしょうか? 一つのデータベースファイルに保存し続けるとユーザーがアクセスする際は そのデータベースファイルにしかアクセスしないので共有ロックの関係で ユーザーが増えるほど分割した場合に比べてオープンが低速化したりしないでしょうか?

    • ベストアンサー
    • PHP