mfc-ml

2006年02月

22

[mfc 51960] Re:[mfc 51958] RecordsetのOpenでエラー

河野です。
デバッガにかけてみたところ、SQLのエラーのようですが、
nRetCode=1021 の返値を返しています。
これは、調べた限りでは、認識できないODBCという意味になりますが、
どうもこれでは、意味が通じません。
RETCODE型の数値との対応表がどこかにあるはずですが、MSDNオンラインで
なかなかみつかりません。 知っている人はいますか?




-----------------------------------------------
得するキャンペーンやプレゼント情報を是非ご覧下さい!
livedoor 懸賞
http://present.livedoor.com/
22

[mfc 51959] Re: RecordsetのOpenでエラー

田村です。
記述は同じでテーブルによって動きが違うということですが、
エラーの出ているテーブルのみ権限が他のテーブルと違うということは
ないですか?
間違っていたら、すみません。

>河野ともうします。
>
>ODBCでデータベースに接続するプログラムを作っておりますが、
>使用しているテーブルのうち、一つだけ、Openする際にエラーを吐いて異常終了
>してしまうところがあります。 エラーメッセージは次のようなものです。
>
22

[mfc 51958] RecordsetのOpenでエラー

河野ともうします。

ODBCでデータベースに接続するプログラムを作っておりますが、
使用しているテーブルのうち、一つだけ、Openする際にエラーを吐いて異常終了
してしまうところがあります。 エラーメッセージは次のようなものです。

Debug Assertion Failed!

Program:RyokoTori.exe
File:dbcore.cpp
Line:66

For information on how your program can cause an assertion failure,
see the VisualC++ documentation on assert

記述は、同じですが、他のRecordsetの派生クラスではエラーは発生しません。
また、Open関数の部分をコメントにするとそのまま進行します。
この派生クラスがおかしいのかとも思い、ウィザードで作り直してみましたが、
結果は同じでした。 ちなみにDBですが、AS400(OS400)下の
DB400のデータをクライアントアクセスのODBCドライバを介して
使用しています。 更新のないReadOnlyの処理です。
いかに問題のソース示します。 助言をいただけると幸いです。

void CRyokoToriDlg::get_mise_name(int code,char* name){
strcpy(name,"");
char frec[300];
if(_dbptr == NULL) return;<=※CDatabase型変数 _dbのポインタ型(void*)
AfxGetApp()->DoWaitCursor(1); //砂時計にする
Syozk_Rec rec_ptr(&_db);
sprintf(frec,"CMB_MISECD");
   rec_ptr.m_strSort = (LPCSTR)frec;
  sprintf(frec,"CMB_MISECD = %d",code);
  rec_ptr.m_strFilter = frec;
rec_ptr.Open(CRecordset::forwardOnly, NULL,CRecordset::readOnly);<=ここ!
if(rec_ptr.IsOpen()){
while(!rec_ptr.IsEOF()){
rec_ptr.get_misename(name);
rec_ptr.MoveNext();
}
rec_ptr.Close();
}
AfxGetApp()->DoWaitCursor(0); //戻す
}




-----------------------------------------------
得するキャンペーンやプレゼント情報を是非ご覧下さい!
livedoor 懸賞
http://present.livedoor.com/
13

[mfc 51957] WOW64プロセスの32bitモジュール一覧を取得するには?

rollerballer と申します。
VS2005でx64対応を始めたばかりです。

64bitアプリケーションから、任意のWOW64プロセスがロードしている 
32bitモジュールの一覧を取得したいのですが、方法がわかりません。

64bitプロセスがロードしているモジュールの一覧は、従来通りToolhelp
やpsapiを使って取得できます。しかし、WOW64プロセスについては、これ
らの方法で取得できるのはEXEとntdll.dll, wow64.dll, wow64win.dll, 
wow64cpu.dllの5つだけで、32bitモジュール一覧を取得することはでき
ません。

それ自体は想定の範囲内だったのですが、では一体どのようにすれば取得
できるのか、今のところ手がかりがない状態です。

何かご存じの方がいらっしゃいましたら、些細なことでも結構ですので、
ご教授いただけないでしょうか?
7

[mfc 51956] Re: .NETでListViewクラス操作について

大久保です。


Reply to "[mfc 51954] .NETでListViewクラス操作について"
(Message-Id: <43E88917.1040600@kbo.mss.co.jp>
at Tue, 07 Feb 2006 20:48:39 +0900, Ryuji Endou wrote)
> 「SelectedIndicesで選択された項目のインデックスを取得する」とあるのですが、
> ここから、どうやって、インデックスを取得すればいいのかが判りません。

SelectedIndicesで得られるListView.SelectedIndexCollectionには現在選択さ
れているインデックスが全て含まれます。つまり,Countが3でItem(0)が0,
Item(1)が5,Item(2)が10であれば,インデックス0,5,10のアイテムが選択さ
れていることになります。


それでは。


-- 
大久保 雄介(Okubo Yusuke)
mailto:y...@n01.itscom.net , mailto:y...@js5.so-net.ne.jp
記事検索
Amazon.co.jp
  • ライブドアブログ