![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
No.6ベストアンサー
- 回答日時:
少々脇に外れるかも知れませんが、ANO.1 への補足に書かれた
>ODatabase *ZZZ;
>ZZZ = NULL;
>ZZZ = new OSession();
の "new OSession()" が謎です。
new演算子で ODatabaseクラスのオブジェクトを生成するのであれば
ODatabase *ZZZ;
ZZZ = new ODatabase;
と記述されると思うのですが。
この回答への補足
何度も回答ありがとう御座います。
>new演算子で ODatabaseクラスのオブジェクトを生成するのであれば
>ODatabase *ZZZ;
>ZZZ = new ODatabase;
>と記述されると思うのですが。
neko3839様のおっしゃる通りです。
ZZZ = new ODatabase();
と書いてありました><
こちらの記載ミスでした;;
新しいPCにて環境を作り直した(Oracleなどバージョンが違う)らうまく動くようになりました。
環境の違いの細かい所まではみれなかったですが、
プログラムには問題はなかったみたいです。
みなさまありがとうございました。
No.5
- 回答日時:
>引数は2つだけです。
optionsが付いているので>省略可能なのかなと思っていましたが違いますでしょうか?^^;
失礼しました。
>long options = ODYNASET_DEFAULT, OSnapshotID *snapID = NULL
があるので、
・options = ODYNASET_DEFAULT
・snapID = NULL
が入りますね。
No.4
- 回答日時:
こちらでも少々試してみますが、その前に念のための確認です。
関数は
>oresult Open(const ODatabase &odb, const char *sql_statement,
long options = ODYNASET_DEFAULT, OSnapshotID *snapID = NULL);
ですが、この3番目と4番目の引数は、御質問の際の
>int nRet = oraDyna.Open(*ZZZ, Sql);
では記載漏れ、あるいは省略しただけで、実際のプログラムでは記述されていますね?
この回答への補足
回答ありがとう御座います。
>・・・では記載漏れ、あるいは省略しただけで、実際のプ>ログラムでは記述されていますね?
記載漏れでも省略でもありません。
引数は2つだけです。optionsが付いているので
省略可能なのかなと思っていましたが違いますでしょうか?^^;
No.3
- 回答日時:
>oresult Open(const ODatabase &odb, const char *sql_statement,
oraDyna.Open() の第一引数は「参照型」ですよね。
>int nRet = oraDyna.Open(*ZZZ, Sql);
ここでは、「ポインタZZZが指している先頭の値」をポインタ値として渡す事を意図しているのですか?
oraDyna.Open()の引数の型と記述の仕方を再確認した方が良いと思います。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_14.png?e8efa67)
No.2
- 回答日時:
int nRet = oraDyna.Open(*ZZZ, Sql);
で *ZZZと書くと、構造体そのものを渡しています。
通常は、構造体そのものを渡すことは、ありません。(全くないわけではありませんが)
ですので、通常はポインターを渡すため、
ZZZとすべきかと思いますが・・・・
ZZZの型とoraDyna.Openのプロトタイプが提示されていないので、想像です。
この回答への補足
>ZZZの型
ODatabase *m_hDbc;
↑型じゃない?
ODynasetoraDyna;
↓
class OEXPORT ODynaset : public OOracleObject
{
public:
oresult Open(const ODatabase &odb, const char *sql_statement,
long options = ODYNASET_DEFAULT, OSnapshotID *snapID = NULL);
・・・・・・・・・・
private:
char *m_sqlstmt; // the sql statement that creates the dynaset
// internal helper routines
oresult Copy(const ODynaset &other);
oresult Cleanup(void);
};
です。
Oracle8iと9iでの環境の違いという可能性もありますでしょうか?
現在は9iで試しています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- Windows 10 IT初心者です! powershellで以下のようなエラーが出ました オブジェクト参照がオブジェクト 1 2023/05/17 11:30
- MySQL 何にかが違うから エラーなんでしょうね! 2 2022/09/18 05:28
- 預金・貯金 ゆうちょ キャッシュカード 9 2022/11/27 17:56
- MySQL #1062 - '0' は索引 'PRIMARY' で重複しています。とでています。 1 2023/01/01 06:13
- その他(ソフトウェア) 大容量の動画ファイルを分割したい 4 2023/04/20 16:34
- オープンソース Python openpyxlを使用したセル番地の使用について 1 2023/08/03 22:05
- ノートパソコン Win10 EXCEL でのエラー 2 2022/04/03 15:57
- iOS HDD交換修理したWindows10・PCのOFFICE プロダクトキーがエラーとなる 2 2023/04/01 02:17
- Access(アクセス) こんにちは。Accessのことで教えてください。M365環境で、Private Declare Fu 1 2023/01/09 14:59
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
実行時エラー 438になった時の...
-
なぜこんな初歩的なVBAのIf文で...
-
エクセルエラー13型が一致しま...
-
実行時エラー9 インデックスが...
-
VBSで変数の宣言はできないので...
-
プロシージャ名の取得
-
ExcelVBA Range クラスの Page...
-
Excel VBA で End Subのところ...
-
マクロについて教えてください...
-
EXCEL/VBAで、自分のPCだけエラ...
-
VBS実行時エラー オブジェクト...
-
VBAがブレークモードになっ...
-
EXCEL VBAマクロ中断でデバッグ...
-
エクセルVBA、フリーフォームで...
-
【VBA-AC2000】カレントプロシ...
-
実行時エラー -'-2147417848
-
VBAでのエラー
-
トランスポートレベルのエラー
-
C言語 mallocのエラーに関する質問
-
ASP.NET OleDbConnectionが定義...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
実行時エラー 438になった時の...
-
エクセルエラー13型が一致しま...
-
VBAがブレークモードになっ...
-
なぜこんな初歩的なVBAのIf文で...
-
マクロについて教えてください...
-
実行時エラー3001「引数が間違...
-
VBSで変数の宣言はできないので...
-
【Excel VBA】マクロをボタンに...
-
ExcelVBA Range クラスの Page...
-
VBS実行時エラー オブジェクト...
-
プロシージャ名の取得
-
実行時エラー -'-2147417848
-
EXCEL VBAマクロ中断でデバッグ...
-
VB6+SQL サーバー 2000 で 実行...
-
ADODB.Streamを使用してUTF-8を...
-
VBAでのエラー
-
なぜエラーになるのでしょうか...
-
Outlook.ApplicationをCreateOb...
-
VBAのエラー発生場所をメッセー...
-
AccessVBAでExcelを起動し、罫...
おすすめ情報