• 締切済み

データベースをプログラム上で更新する方法について

使用環境:windowsXP、VB EE データベースアクセスプロバイダ:OLEDB(mdbデータベース) ローカルにて使用 率直にいうと下記のような方法で更新しようと考えています。 1、接続文字列を定める。 2、SQLCOMMANDを決定する。(update句) 3、データアダプタを宣言し、2のコマンドを実行する。 構想はできているのですが、肝心なコーディングがよく分かりません。できれば、簡単なコード等をご教授してくれないでしょうか? 尚、updateをかける際にnull値を許可したいのですが、それらを含めて教えてください。よろしくお願いします。

みんなの回答

noname#60992
noname#60992
回答No.1

SQLについて http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/sq_o01.htm 全体的な流れは(現在はADOが主流かな?) http://homepage2.nifty.com/inform/vbdb/ >updateをかける際にnull値を許可 これは、db側の問題では? それとも、nullをINSERTしたいと考えているとか?

関連するQ&A

  • OLEDBにて接続した.mdbデータベースの保存箇所について

    windwsXP、VB2005EXPRESSEDITIONを利用しています。 タイトルのとおりOLEDBにて接続した.mdbデータベースが存在するとして、発行したとします。 そうすると、データベース自体の読み書きができるアプリケーションが作成されているのですが、その肝心な.mdbデータベースがどこにもみあたりません・・・ VB2005上では、datasource=|DataDirectory|\sekisan.mdbとなっていますが、実際どこから引っ張って書き込んでいるのか不明です。 いったい、データベースはどこに保存されているのでしょうか?

  • .NET MDBデータベース更新について質問です

    DataGridViewで表示するところまでできたのですが DataGridView上で編集したものを更新ボタンで MDBデータベースに上書き保存という形で 行いたいのですがいろいろ調べてもわかりませんでした。 VBを初めて日が浅いのでこつこつ勉強中なのですが 業務上の都合でDBの作成を行っています。 基本的に書き直したもの 'データベース取得 Dim Cn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=保存場所" ) Dim Cm As OleDbCommand = Cn.CreateCommand Dim Adapter As New OleDbDataAdapter(Cm) Dim Table As New DataTable Cn.Open() Cm.CommandText = "SELECT * FROM Aテーブル" Adapter.Fill(Table) DataGridView1.DataSource = Table DBにはこのように接続しております。 ここまでも手探りで行ったので熟練の方から見ればへんかもしれませんが指導おねがいします。

  • VB2008からVB2010に更新したのですけど。

    VB2008EEで作ったデーターベース(Accessでつくった。)を操作するプロジェクトをVB2010EEでファイルを更新して実行しましたが、「Micosoft.Jet.OLED.4.0プロバイダーはローカルのコンピューターに登録されていません。」とのエラーが表示され、データーベースにアクセスできません。データーベースは少し古いAccessで作ってます。このエラーを解除する方法を教えてください。いろいろ本を買って読んだり、いろいろ質問項目をみていたのですが、解決方法が見つかりません。どうかよろしくお願い申し上げます。

  • VB2008データベース

    非接続型データベースでUpdateをする文を書いていますがUpdateでエラーが出てしまいます。  OleDbCommandBuilder の参照をネットで確認等していますがエラーの内容がわかりません。 データベース参考書等にも下記と同じ文例でかいてあります。 どなたか教えてください。 *VB2008で開発しています。 Dim cn As OleDb.OleDbConnection Dim Buf As String Dim dAdp As OleDb.OleDbDataAdapter Dim dSet As DataSet Dim dTbl As DataTable Dim cBuild As OleDb.OleDbCommandBuilder Buf$ = DefCnSt$ & X_SystemFile$ & ";Jet OLEDB:Database Password=" & XdtPs$ cn = New OleDb.OleDbConnection(Buf$) dAdp = New OleDb.OleDbDataAdapter("SELECT * FROM 物件", cn) dSet = New DataSet("物件") dAdp.Fill(dSet, "物件") dTbl = dSet.Tables("物件") dTbl.Rows(2)(1) = "ABC" cBuild = New OleDb.OleDbCommandBuilder(dAdp) dAdp.Update(dSet, "物件") <-ここでエラーが出ます。

  • データベースの結合について

    いつもお世話になっております。 すみませんが教えてください。 vb.netを使って 違うファイルのアクセスのデータベースを結合したいと思いますが うまくいきません。どのようにすればよいのでしょうか? SELECT * FROM (一覧表 IN 'C:\DB.mdb ' LEFT JOIN 固有情報 IN 'C:\DB2.mdb ' ON 一覧表.IDNo = 固有情報 .ID1)  としましたが、From句の構文エラーとなってしまいます。 よろしくお願いします。

  • ローカルデータベースについて、質問なのですが。

    ローカルデータベースについて、質問なのですが。 開発言語:VB2005で、サーバをたててクラサバのプログラムを作成しようと思うのですが。 現状は、サーバ1台に,クライアント2台(XP・7)ですが。将来的にはクライアントは40,50台まで増える予定  サーバ機には、SQL Server2005を使い、クライアント機のローカルデータベース(ワークテーブル、一時テーブル) を迷っているのですが 将来、クライアントが増設されるあたりを考えると、 ・SQL serverを入れようか迷ったのですが。 40台でインストールとアップデートをするかと思うと後々管理が大変そう・・・   ・ローカルデータベースがわりにテキストデータも考えましたが・・・ やっぱりプログラム作成の部分で大変そう。 ・アクセスmdbを使い、ローカルデータベース代わりにと思ったのですが。 Accessが入ってない環境で試したことがないので、できるか未知数ですが。 ソフトのインストール自体は、フォルダごとXCOPYで設置するつもりなのですが。 規模によってマチマチかと思いますが。 台数が増えた場合を考慮した場合など。皆さんローカルデータベースはどうされているのでしょうか? 各パソコンに一々SQLserverをインストールされているのでしょうか? アドバイスをもらえたら幸いです。

  • ADO.Netで通常用いられるデータベースの形式は何ですか?

    ADO.Netで通常用いられるデータベースの形式は何ですか? 今まで作ったプログラムは、mdb形式のデータベースファイルを使ってきました。 ローカルPC1台で使用するデータベースなので、SQLServerは大げさだと思うので、今でもmdb形式を普通に使っているのなら、そのまま採用したいと思います。 よろしくお願いします。

  • データベースアクセスで。

    VBとAccessを使用してデータのやりとりを行っています。 Data1を貼り、DatabaseNameを設定するところまではうまくいきましたが、RecordSourceプロパティをクリックすると「データベースの形式'C:\xxx\xxx.mdb'を認識できません」と表示されてしまいます。 別DBを設定すると上記の現象がでないので、Accessが原因だとは思いますが、VBを使用する際の注意点などあるのでしょうか? 【環境】WinXP SP2 VB6.0 / Access2000です。

  • VB2005にてデータベースに接続したい。

    VBの経験は、VB6にて簡単な改修などしか行ったことがない初心者です。質問の内容が自分のスキルと見合っていないことは承知しているのですが、業務上どうしても必要になってしまったのでお分かりでしたら教えて下さい。 現在、簡単な社員管理システムのようなものを作成していて、アクセスで作成したデータベースをVB2005を使って操作するようにしています。 その際に、データベースがある共有フォルダにパスワードが設定してあった場合の接続方法がわかりません。windows上で一度そのフォルダにアクセスして、ユーザー名、パスワードを入力し接続してしまえば、VBからも接続できるのですが・・・ 接続文字列の前に何か記入すべきコードがあるのでしょうか?お分かりの方がいらしたら教えて下さい。よろしくお願いします。 現在の接続文字列は以下のとおりです。 Dim Cn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\192.168.0.1\tadasuke2002\db1.mdb")

  • データベースの不具合について

    初歩的なことをお聞きします。 過去に、データベース(MDB)を使用したアプリを外注に作ってもらったのですが、なかなかうまくいきません。 現象はMDBが壊れたり、MDBのテーブルやクエリ自体がすべて消えてしまったりしています。なんでだからさっぱり分かりません。 過去にMDBが壊れやすいというのは聞いたことがあります。ただ、スタンドアローンで使用していますしそれほど付加をかけていないように思われます(外注談)。また、外注からはソフトでDBを壊すことは出来ないという回答も頂き、Windows2000のSP3にして様子を見てくれといわれました。 元々設計から開発まで外注任せにしていたせいもあり、そのソフトの構造を良く理解しておりません。 まず、どういった調査が必要か、または外注にどういうふうに言って対応してもらったら良いか教えて頂けないでしょうか。(過去の経験談でも構いません) 開発言語はVB6(SP5)です。(Jetを使っています) 何卒宜しくお願いします。