• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:WEBアプリでデータを書き込む)

WEBアプリでデータを書き込む

このQ&Aのポイント
  • visual web developerを使用してwebアプリケーションを作っています。住所氏名一覧表に、あらたに住所氏名を加えていく入力フォームを作成しています。
  • すべてのデータにIDを自動出来に加えたいのですが元データをXMLファイルにすると自動でIDをふる方法がわかりません。
  • 元データをACCESSファイルにするとデータの「登録」ボタンを押した際”別のプロセスで使用されているため、プロセスはファイル××にアクセスできません。”と出てしまいます。

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

  • ベストアンサー
  • aspnet
  • ベストアンサー率79% (72/91)
回答No.1

WebアプリでACCESS MDBというのもアレですが、まあ手近に使えて、一般の方でもデータ操作が簡単ということで。 .NETのデータハンドリングについては、進化の歴史みたいなものがあって、新しいものから順番にざっと ■Entity Framework(VS2008 SP2/VS2010) ■LINQ(VS2008 SP2) ■DataSourceコントロール(VS2008) ■TableAdapter(VS2005 ADO.NET2.0) ■DataAdapter(VS2003 ADO.NET1.1) ■SQLConnection/SQLCommand とあるんですが()、新しいもの2つはMDB未対応です。このころ、組込用途のSQLサーバが出たのでMDBはオワコンになりました。 DataADapter以降であればウィザード画面も用意してあり、非常に簡単に接続や定義が行えるようになっています。 コードを拝見したところ、DataTableをお使いのようなので、「慣れ」からいえばTableAdapterを使うのがベストマッチかと思います。 TableAdapterというのは、MDBへの接続情報、基本クエリ(追加・削除・更新)およびユーザが利用する各種の独自クエリ、およびそれによって生成されるDataTableをまとめたもので、テーブルやビューごとに作成でき、また制約なども定義できるという便利なものです。 こいつでTableアダプタクラスを作り、そのオブジェクトに作成しておいたクエリを打てば、当該のDataTableが返るので、あとは普通にプログラムします。 追加や更新の場合は、DataTableのオブジェクトをTableAdapterに渡してUpdateすれば、自動的にに判断されて処理されます。 ウィザード系の操作は、書籍やWebにリソースがありますので、以下の言葉でググってみてください。 TableAdapter ADO.NET2.0 DataSet DataTable 型付きデータセット DataAdapterはVS2005時代のものなので、できればSQLDataBase CompactとEntity Frameworkを使った方がいいと思うのですが。。

masunona
質問者

お礼

ご回答ありがとうございます! Aceess愛好者で多くの社内システムをAccessで作っていたので 思わずデータベースをmdbファイルにしてしまいました・・・。 いつかは行き詰まってしまいそうだと 薄々思ってはいたのですが・・・。 TableAdapter見てみます! ありがとうございました!

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • onos
  • ベストアンサー率81% (127/155)
回答No.2

mdbファイルはデータベースファイルですから、ODBCとかで接続して読みだす必要があります。 XMLファイルのようにテキストファイルを読み込むのとは違った手順が必要です。 そのあたりきちんと学習すれば、すくなくとも「別プロセスで~」なんてエラーはでなくなります。 このプログラムはXMLファイルならそれなりに動いてるんですかね? であれば、データを追加する前に、読み込んだデータの中のIDの最大値をまず取得してそれに1足したIDをあたらしいデータにあたえればいいだけの話のような気がします。 ただし、Webアプリは複数の人が同時に操作することを前提に考えないといけないので、ほぼ同時にデータの追加が行われても同じIDが追加されたりしないように工夫する必要があります。 Application変数をうまく使ってロックかけたりするとか。 ま、本来的にはSQLサーバーのようなデータベースをきちんと使うほうがよいと思います。 そのほうが参考になる資料等も多くでてますしね。

masunona
質問者

お礼

ご回答ありがとうございます! XMLファイルではそれなりに動いているのですが IDを自動的にふる方法が分からず mdbに逃げ込みました。 データベース形式としては XMLファイルのほうがいいんだろうなと思いながらも。。。 SQLサーバーを利用したいとは思ってるのですが まだそこまで手が届いていません。。。 (つたない知識で勉強しては挫折を繰り返しています。) >データを追加する前に、読み込んだデータの中のIDの最大値をまず取得してそれに1足したIDをあたらしいデータにあたえればいいだけの話のような気がします。 上記方法試してみたいと思います! そう大人数で頻繁に使うものではないので 対応できそうです! ありがとうございました!!

すると、全ての回答が全文表示されます。

関連するQ&A