• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBからOracle接続)

VBからOracle接続における行削除エラーと対処方法

yuu200の回答

  • ベストアンサー
  • yuu200
  • ベストアンサー率20% (5/24)
回答No.1

RecordSourceにSelect以外(DeleteとかUpdateとか)ってセットできましたっけ? データベース.ExecuteSQL(" SQL文 ") で消したいデータを削除してから、RefreshするだけでOKだと思います。

関連するQ&A

  • VB6.0 DBComboの使い方

    VB6.0でDBComboを使用しているのですが、DataSouurce=Adodc1に設定し、DataField="内容"を設定しているのですが、DBCombo1..BoundTextには内容の1行目しか表示されずDBCombo1のリストには何も表示されません。また、DBCombo1に複数列表示する方法があればお教えいただければと思います。 Adodc1のプロパティ ConnectionString="DSN=ODBC_ORACLE"のODBCのデータソース名を指定して、RecordSource="select ID,内容 From テストマスタ"を設定してあり、DBGRIDでは正常に表示されます。 宜しくお願い致します。

  • VB6.0でアクセス2000のデータを使いたいです。

    VB6.0でアクセス2000のデータを使用してdatagridに表示したいのですが、データオブジェクトのdatabasename(プロパティ)にアクセスデータを指定しても、recordsource(プロパティ)にアクセスのテーブル名が表示されないのです。他のアクセスデータで表示される場合もあるのですが、その違いが不明ですので宜しくお願い致します。

  • vbからoracleへの接続

    vbからoracleへの接続について教えて下さい。 ORACLEデータベースにoo4oを使って接続をしているのですが、Oracleクライアントをインストール済みのPCでは何ら問題なく接続できます。 OracleクライアントをインストールしていないPCではエラーメッセージがでてしまいます。 処理はこんな感じです... Public ssOra As Object       Public dbOra As OraDatabase Public dynOra As OraDynaset Set ssOra = CreateObject("OracleInProcServer.XOraSession") Set dbOra = ssOra.OpenDatabase("HRH", "HRH00/HRH00", 0&) Set dynOra = dbOra.DbCreateDynaset("select * from 消耗品_注文履歴", 0&) Set ssOra... のところでエラーとなってしまいます。エラー内容は ********実行時エラー'429'***************************** ActiveXコンポーネントはオブジェクトを作成できません ************************************************** activeX,oracle関連のDLLファイルは参照設定に登録しています。 これを解決するためにはOracleクライアントをインストールするしかないのでしょうか? また、インストールしたらエラーは本当になくなるのでしょうか? 皆様宜しくお願いします。 ちなみにクライアントPCはOS:WIN95 oracleバージョン8.1.7です

  • グリッドにデータベースの更新を反映させるには?

    VB6.0SP5で開発しています。 単純なデータベースの更新プログラムなんですが、 更新した後にRefreshやRebindしても更新内容が反映されません。 ADODCをつかってグリッドに内容を表示しているのですが、 グリッドをクリックして選択した行のレコードを削除します。 そのあとに、ADODCをRefreshしてもグリッドをRefreshしても反映されないんです。 データは削除されています。 DataGrid,TDBGridの二つのグリッドで試したんですが、 どっちもだめでした。 みななんどうやって反映させているのでしょうか? どうぞ、よろしくお願いしますm(_ _)m

  • ORACLE9iをVB6のADOで更新できません

    こんにちは、ats8181oyajiです VBのカテゴリでも先週同じ質問をしたのですが 回答がありませんでしたので、削除してカテゴリ変更いたしました Set OraSession = CreateObject("OracleInProcServer.XOraSession") Set OraDatabase = OraSession.DbOpenDatabase(OraNet, OraUser & "/" & OraPass, 0&) ' &H2& でオブジェクトで操作する方法はうまく行くのですが Dim cnn As New ADODB.Connection Dim SQLSTR As String cnn.Open "Provider=MSDAORA;" & _ "Data Source=XXXXXXX;", "UID", "PASSWORD" Dim rst As New ADODB.Recordset SQLSTR = "select * from AAAAAA where キー=1" rst.Open SQLSTR, cnn, _ adOpenKeyset, adLockOptimistic If rst.EOF Or rst.BOF Then Exit Function End If '* rst!koumoku = 0 '* rst.Update のようにADOを使うと*の命令文の処理で"エラー3251 オブジェクトまたはプロバイダは要求された操作を実行 できませんでした"となります。 でも不思議なことに、レコードセットのオープンはできていて セレクトした内容も読めています オラクルが9iだと"Provider=MSDAORA"だとダメなのでしょうか? 情報をご存知の方がおられましたら よろしくお願いいたします。

  • SQL 副問い合わせ使い方について

    初心者です。 フォームに入力された、EMPNOとEMP_IDに一致するデータ(複数の場合あり)を取得するSQL文なのですが、参考にしようとしているコードがいまいち理解できなくて困っています。特にグループ化と結合のあたりがよくわかりません。どなたか、詳しく教えていただけないでしょうか?よろしくお願いします SELECT EMPINFO_A.EMPNO, EMPINFO_A.EMP_ID, EMPCD_CDA.CDA_NAME || EMPCD_CDB.CDB_NAME AS EMPCD_CDNM, NVL(EMPINFO_MAP_VIRTUAL.EMPINFO_COUNT, 0) AS EMPINFO_MAP_COUNT FROM EMPINFO_A, EMPCD_CDA, EMPCD_CDB (SELECT COUNT(*) AS EMPINFO_MAP_COUNT, EMPNO,EMP_ID FROM EMPINF0_MAP WHERE EMPNO = :P_EMPNO AND EMP_ID = :P_EMP_ID GROUP BY EMPNO, EMP_ID) EMPINFO_MAP_VIRTUAL WHERE EMPINFO_A._EMPNO = :P_EMPNO AND EMPINFO_A.EMP_ID = :P_EMP_ID AND EMPINFO_A.EMPNO = EMPINFO_MAP_VIRTUAL.EMPNO(+) AND EMPINFO_A.EMP_ID = EEMPINFO_MAP_VIRTUAL.EMP_ID(+)

  • oracleを利用できません。(global.asa利用)

    asp + oracle + oo4oをglobal.asaファイルを利用して プログラムを組むことになりまして、ネットでサンプルファイルを見つけまして 実行したところエラーになっていまいます。 サンプルは以下の通りです。 ----global.asa--- 'OO4O用の設定 <OBJECT RUNAT=Server SCOPE=Application ID=OraSession PROGID="OracleInProcServer.XOraSession"> </OBJECT> <SCRIPT LANGUAGE=VBScript RUNAT=Server> Sub Session_OnStart 'OO4O用の設定(Net*8を使用してOracle8に接続する) Set Session("OraDatabase") = OraSession.DbOpenDatabase("sun151_ora803", "scott/tiger", Clng(3)) Set Session("OraDynaset") = Session("OraDatabase").DbCreateDynaset("select * from emp order by empno", Clng(4)) End Sub Sub Session_OnEnd Set Session("OraDynaset") = Nothing Set Session("OraDatabase") = Nothing End Sub </SCRIPT> ---global.asaここまで--- ---emp_o1.asp--- <%@ LANGUAGE="VBSCRIPT" %> <HTML> <HEAD> <TITLE>emp_o1.asp</TITLE> </HEAD> <BODY> <% '変数の設定 Dim OraDatabase Dim OraDynaset Dim OraFields Dim fieldNum Dim recNum Set OraDatabase = Session("OraDatabase")   ↑ここでエラーがでます。(line17) Set OraDynaset = Session("OraDynaset") --以下略 ---emp_o1.aspここまで--- エラーとして エラー タイプ Microsoft VBScript 実行時エラー (0x800A01A8) オブジェクトがありません。: '[undefined]' /rhc/emp_o1.asp, line 17 というのが出てしまいます。 VBとoracleの経験はあるのですが、aspは今回初めてです。 しょうもない質問かもしれませんが、どなたかよろしく お願いいたします。

  • SQLの問題で解答を見ても腑に落ちません

    問題集の答えが腑に落ちないのでどなたかわかりやすく説明いただけますでしょうか? EMP表 EMPNO ENAME  SAL   MGR  DEPTNO -------------------------------------- 1000  SCOTT  1000  NULL  10 1010  ADAMS  2000  1000  10 1030  TAYLOR  600   1000  30 1050  MILLER  800   1030  10 以下の副問い合わせを使ったSELECT文を実行した。検索されるデータ件数を選びなさい。 select empno,ename from emp where empno not in (select mgr from emp); A:0件 B:1件 C:2件 D:3件 解答はAの0件なのですが、なぜ0件なのでしょうか? 当方の解釈ですと、副問い合わせでmgrが(NULL,1000,1030)となり where empno not in (NULL,1000,1030) で 「empnoがNULLでも1000でも1030でもない件数」 となり、empnoが1010と1050の行が検索され、cの2件が正解なのでは? と思っているのですが・・・ 間違いをわかりやすく教えていただけますでしょうか? 宜しくお願いします。

  • VB6 DBと連結しないDataGrid

    VB6の標準機能で、(行数可変の)一覧表示をするために、DataGridを使おうと思ったのですが、 どのサンプルを見ても、DBから取得したRecordSetをBindする方法しか載っていません。 そもそもVB6のDataGridとは、プログラム中でDB以外の情報を、挿入したり削除することって、出来ないのでしょうか? (行オブジェクトをAddするようなイメージです) よろしくお願いします。

  • エラー「無効な識別子です」

    ORA-00904: "EMPNO": 無効な識別子です と表示されます。 解決方法知っている方、教えていただければ幸いです。 SELECT EMPNO, ENAME, D.DEPTNO, DNAME FROM DEPT D WHERE EMPNO = (SELECT EMPNO FROM EMP WHERE MGR IS NULL) SQL> DESCRIBE EMP; 名前 NULL? 型 ----------------------------------------- -------- ---------------------------- EMPNO NOT NULL NUMBER(4) ENAME VARCHAR2(10) JOB VARCHAR2(9) MGR NUMBER(4) HIREDATE DATE SAL NUMBER(7,2) COMM NUMBER(7,2) DEPTNO NOT NULL NUMBER(2)