的外れな質問だったら申し訳ありません!!(涙)
どなたか教えてください!!!(泣)
リンクテーブルにInsertを行いたいのです!

現在こういうコードになっています。↓
※InterBase5.0/ACCESS2000を使用しています。
※ユーザーIDなどは別の関数で取得して文字列変数で帰ってきます。

Public G_Wksp As Workspace
Public G_openDb As Database
Set G_Wksp = CreateWorkspace("", sUID, sPWD, dbUseODBC)
Set G_openDb = G_Wksp.OpenDatabase(sDSN, , False, _
"ODBC;DATABASE=" & sDb & ";UID=" & sUID & ";PWD=" & sPWD & ";DSN=" & sDSN)

で、つないで、

G_Wksp.BeginTrans
G_openDb.Execute "Insert_SQL文1"
G_openDb.Execute "Insert_SQL文2"
G_openDb.Execute "Insert_SQL文3"
3つとも正常終了だったら … G_Wksp.CommitTrans 'コミット
どれか異常終了だったら  … G_Wksp.Rollback 'ロールバック
で、Insertしています。

INSERTはちゃんとされているのですが…エラー発生時にロールバック処理がされていないのです…(汗)
どこが変なのか教えていただけないでしょうか…(泣)
イイ方法教えてください。よろしくお願いします!

このQ&Aに関連する最新のQ&A

A 回答 (1件)

INTERBASE上のトランザクション機能を使えば、、、


または、1個1個INSERT文を発行せずにINTERBASEの
ストアドプロシージャで置き換えなどは出来ませんか?

アイデアだけですが、、、
    • good
    • 0
この回答へのお礼

回答ありがとうございます!!!!(涙)

ホント、勉強不足で申し訳ありませんが…
INTERBASE上のトランザクション機能はどうやって使うのでしょうか?
もし、お解りでしたら教えていただけますか?
ほんと、申し訳ありません!!!
よろしくお願いします。

お礼日時:2001/02/14 20:03

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qpublic_html の中に出来たThumbs.db って?

普段FFFTPソフトを使ってHPをアップロード等しています。
先程アップロードしようとしたら、ローカル側に
Thumbs.db というファイルが出来ていました。
ローカル側はPCの\Dに作成した、public_html フォルダの中身が羅列するもので、自分の知らないファイルが自然に作成されているのが不思議です。
\Dドライブのpublic_html フォルダを確認しましたが、そのようなファイルはありませんでした。
それが何なのか分かる方いらっしゃいますか?

Aベストアンサー

Thumbs.db の正体(Thumbnail)と対処法はもう書かれてますので書きませんが、私もFTPでまとめてアップする時にはたまに間違えて送ってしまいます(笑)。場合によってはかなり大きくて困ったもんですよね。まあ転送中見てればキャンセルすればいいんですが。

FFFTPなら表示されますので(それで気づかれたんですよね?)、面倒ですがそこで削除するか、それだけ転送しない方法対処するか、次の設定で送信されなくなりますので、ご参考までに。(ただし、フォルダの中身をそっくりそのまま、一括して転送(ミラーリング)する場合にのみ有効です)

1.FFFTPでメニューバーから「オプション」を選択
2.「環境設定」をクリック
3.「ミラーリング」タブをクリック
4.「転送しないファイル名」の「追加」をクリック
5.「Thumb.db」を入力
6.アップロードする場合は、「ミラーリングアップロード」ボタンをクリック

これでThumb.dbが存在しても、それだけは転送されません。

ただし、ミラーリングですので、ホストのディレクトリ内はローカルのフォルダ内と同じにしてしまうため、一致しないファイルは削除されてしまいますのでご注意を(ミラーリングアップロードボタンをクリック後、処理内容表示ボタンを押せば確認画面になります。また削除しないファイルの指定も可能です)。

試験用のフォルダとディレクトリを作って試されることをおすすめします。

以上、本質門とは関係ないかもしれませんが、ご参考までに。

Thumbs.db の正体(Thumbnail)と対処法はもう書かれてますので書きませんが、私もFTPでまとめてアップする時にはたまに間違えて送ってしまいます(笑)。場合によってはかなり大きくて困ったもんですよね。まあ転送中見てればキャンセルすればいいんですが。

FFFTPなら表示されますので(それで気づかれたんですよね?)、面倒ですがそこで削除するか、それだけ転送しない方法対処するか、次の設定で送信されなくなりますので、ご参考までに。(ただし、フォルダの中身をそっくりそのまま、一括して転送(ミラ...続きを読む

QPython 正規表現でsetと=の間の空白で区切られた文字で、一番右端の文字を取得したい

Pythonで、正規表現を使って、
「set 」(半角空白あり、行の先頭とは限らない)と「=」で挟まれている文字で、=側に一番近い文字を取得したいと考えています。
1行に、「set ○○=」が複数ある場合もあります。
以下の例だと、"gg" と "kkkk" を取得したいのですが、
setと=の間の['fffff gg', 'h ii jjj kkkk ']が返ってきてしまい、一番右端の文字が返ってきてくれません。
setと=の間の文字は、半角の空白で区切られていて、いくつあるかは決まっていません。
どのように正規表現を書けばいいでしょうか?
よろしくお願いします。
-----------------------------------------------------------
line = "set fffff gg=FGFGFGFGFGFG set h ii jjj kkkk = HIIJJJKKKKset lll=LLL"
import re
p = re.compile(r'(?: set|^set) ([^=].*?)=', re.IGNORECASE)
print p.findall(line)
>>>
['fffff gg', 'h ii jjj kkkk ']

Pythonで、正規表現を使って、
「set 」(半角空白あり、行の先頭とは限らない)と「=」で挟まれている文字で、=側に一番近い文字を取得したいと考えています。
1行に、「set ○○=」が複数ある場合もあります。
以下の例だと、"gg" と "kkkk" を取得したいのですが、
setと=の間の['fffff gg', 'h ii jjj kkkk ']が返ってきてしまい、一番右端の文字が返ってきてくれません。
setと=の間の文字は、半角の空白で区切られていて、いくつあるかは決まっていません。
どのように正規表現を書けばいいでしょうか?...続きを読む

Aベストアンサー

'(?: set|^set).*?(\S+) *='
でどうでしょうか。

Qいったい,,,,.NETって。。。

質問タイトルがあまりにプアでごめんなさい。素人なもんで。。。。。
MS .NETって、端的にいって何ができるの?何が違うの?アプリケーションの開発環境が向上しただけ?例えば、VB6で作ったアプリでは動作不可能だったことが、.NET環境では可能になるとかあるんですか?

あとWinXPの管理ツールをみると、MS.NET Framework1.1 xxxxxがありますけど、何に使うの?

Aベストアンサー

>アプリケーションの開発環境が向上しただけ?

その認識でいいと思います。
開発側からすると大きな違いです。
ユーザのメリットとしては、ソフトの品質が上がり、安くなる。
# 現状はそうでもないか

新しく出来ることは、ノータッチデプロイメントぐらいですかね。

Qfmlのconfig.phで使う、q{~};やq#~#;q%~%;は全て同じ意味?

メーリングリストのカスタマイズをしていて、ネット上で情報を集めているのですがどうしても分からないところがあります。 fml 4.0
$SMTP_OPEN_HOOKなどのHOOKを行うときに、q{~};やq#~#;q%~%を同じサイトであっても使い分けているようで、SMTP_OPEN_HOOKの時には =q{~}; を、START_HOOKでは =q#~#; のようになっています。
プログラムというもの自体触ったことはないのですが、一応記号が変わっているだけで中身は同じなのかなと思っています。
実際のところ別物でしょうか?

fmlとqで検索をかけても情報が引っかかりませんし、fmlとq#などとしてもfmlでしか検索できないみたいで八方ふさがりです。
よろしくお願いします。

Aベストアンサー

fmlはPerlという言語で書かれています。これはPerlの記法の問題です。
どれも意味は同じです。違うのは、
・囲まれた内部で使われて無い記号を使って囲むため
・書いた人が違う
・気分によって使い分け?

QLua, lua_pushstringに渡す文字列

ネット上のサンプルを見ると

lua_pushstring(L, "Hello world");

があります。

この"Hello world"の実体は、このスコープ内で何処かに存在することが保証されているだけで、スコープを抜けると直後に消えてしまうかもしれない、との記憶があります。

本来なら

lua_pushstring(L, strdup("Hello world"));

して、Lua側で渡されたポインタをfree()するべきだと思うのですが、そうしているサンプルがありません。

Luaを少し読むと、呼ばれた後で自前で複製しているようですが、その複製を行うまでにその内容が保存されているとことが前提となっているのでしょうか。

Aベストアンサー

「スコープを抜ける」を勘違いしているように思います。

スコープに入る

いろんな処理(「他の関数を呼び出す」も含む)

スコープを抜ける: これ以降、「スコープ内だけで有効なもの」を使ったときの保証が無くなる

というのが基本的な流れです。

lua_pushstring(L, "Hello world");
は「いろんな処理」にあたり、スコープを抜けることになりません。

もしlua_pushstringでスコープを抜けて、文字列が無効になるなら、
printf("Hello world");
の printf でスコープを抜けて、"Hello world"が無効になるので、printfが出力できない、という理屈になります。


また
https://www.lua.org/pil/24.2.1.html
には「Lua never keeps pointers to external strings(以下略)」と明記されています。



これとは別に。
文字列リテラルの寿命からして、「スコープを抜けたら消える」というものではありません。
過去の質問にこんなのがありました。
https://oshiete.goo.ne.jp/qa/7879297.html

「スコープを抜ける」を勘違いしているように思います。

スコープに入る

いろんな処理(「他の関数を呼び出す」も含む)

スコープを抜ける: これ以降、「スコープ内だけで有効なもの」を使ったときの保証が無くなる

というのが基本的な流れです。

lua_pushstring(L, "Hello world");
は「いろんな処理」にあたり、スコープを抜けることになりません。

もしlua_pushstringでスコープを抜けて、文字列が無効になるなら、
printf("Hello world");
の printf でスコープを抜けて、"Hello world"が無効になるので...続きを読む


人気Q&Aランキング

おすすめ情報