VC++でCRecordsetのOpenの使い方は? – プログラミング – Home

通知
すべてクリア

[解決済] VC++でCRecordsetのOpenの使い方は?


サッちゃん
 サッちゃん
(@サッちゃん)
ゲスト
結合: 24年前
投稿: 7
Topic starter  

BOOL bRet;
CDatabase rDB;
try{
bRet = rDB.Open(NULL);

}
catch(CDBException* err){
::MessageBox(NULL,err->m_strError,ERROR,MB_OK);
err->Delete();
}
if (!bRet) {
rDB.Close();
return ;
}
CRecordset rRS(&rDB);
try{
bRet = rRS.Open(NULL,select * from emp);
}
catch(CDBException* err){
::MessageBox(NULL,err->m_strError,ERROR,MB_OK);
err->Delete();
}
のようにしてるのですがうまくいきません。
どこを直したらよいか教えてください
よろしくおねがいします。


引用未解決
トピックタグ
masa
 masa
(@masa)
ゲスト
結合: 25年前
投稿: 64
 

mfcを使用していますよね、odbc接続ですよね
データベースのオープンをその関数ごとに切り替える必要あるのですか

チャッチされたエラーコードはどんな値ですか
どっちのメッセージボックスでますか
「m_strFilter.Format」を使わない理由ありますか

下のコードで参考になりますか

Doc* pDoc = GetDocument();
Set oSet (&pDoc->m_database);

oSet.m_strFilter.Format(COP_ID = %d,m_COP_ID);

if(oSet.Open()) {
if(!oSet.IsEOF()) {
------------------------------------------
必要な編集、表示などのコード
------------------------------------------
}
else{
MessageBox( 検索対象がありません, 利用会社 検索処理, MB_OK );
m_CE_COPID.SetFocus();
}
}
else{
MessageBox( 終了, 利用会社検索 OPEN処理, MB_OK );
}
oSet.Close();


返信引用
サッちゃん
 サッちゃん
(@サッちゃん)
ゲスト
結合: 24年前
投稿: 7
Topic starter  

返事ありがとうございます。
でもまだいまいちできないのですが
Set ってなんですか???

とりあえずselect * from 表名 といった
SQL文を実行したいのですが

素人同然なのでよろしくお願いします。


返信引用
サッちゃん
 サッちゃん
(@サッちゃん)
ゲスト
結合: 24年前
投稿: 7
Topic starter  

すいませんかき忘れました。
エラーがでるのは、CRecordset のオープンができていないような気がします。


返信引用
masa
 masa
(@masa)
ゲスト
結合: 25年前
投稿: 64
 

setは自分の読み出しテーブルを定義したCrecordsetのことです
OPEN関数ではなくSQLEXECUTEのような関数あったはずですけど
自宅でないのでこんな回答しか出来ません


返信引用
サッちゃん
 サッちゃん
(@サッちゃん)
ゲスト
結合: 24年前
投稿: 7
Topic starter  

いろいろ、すいません。
試しているのですがデーターベースでのコントロールを
するためには、やはりOpen関数を必要になると思ったんですが
そこでエラーになってしまいます。

まだ今日中にやりたいわけではないので、なるべく詳しくお願いします。

ほんとうにすいません。


返信引用
masa
 masa
(@masa)
ゲスト
結合: 25年前
投稿: 64
 

> bRet = rRS.Open(NULL,select * from emp);
の行に第一引数はNULLを指定できないようですが
MSDNもう一度よく見直してみてはどうでしょうか?

使用例は
 rs.Open( CRecordset::dynaset, _T( Select L_Name from Customer ) );
こんなふうになってましたよ


返信引用
サッちゃん
 サッちゃん
(@サッちゃん)
ゲスト
結合: 24年前
投稿: 7
Topic starter  

ありがとうございました。なんとかできるようになりました。
まだまだ自分が未熟なのが痛感しました。

これからも、頑張っていきたいです。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました