初めまして。
助けてください。今日も帰れません。
現在VCアプリケーションでoracleデータベースの
チェック処理の実現方法で悩んでいます。
connect及びselectする方法が力不足の為、
解りません。
(以下に実行環境を明記します。)

OSはwindowsNT(SP6)
APはVC++6.0
oracle8.0
です。

何方かご存知の方が要らしたら教えて頂けないで
しょうか?

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

A 回答 (3件)

こんにちは。

itohhといいます。

前にも同じようなことをアドバイスしたような...

そのときに、参考となるURLを紹介したのと同じですが載せておきます。

・ADOを使ったデータベースアクセス
URL:http://www.alpha-net.ne.jp/users2/uk413/vc/VCT_A …

あとは、ご自分でGoogleなどで検索してみてください。

参考URL:http://www.alpha-net.ne.jp/users2/uk413/vc/VCT_A …
    • good
    • 0

オラクル限定なら「oo4o」がもっとも高速で使いやすいですよ。


ヘルプもオラクルをインストールすれば入っているはずです。
oracleのバージョンって8.0.5ですか?
8.0.3だと設定がめんどくさかったような・・・。
    • good
    • 0

 VC++でOracleを検索するのでしたら、MFCのクラスを使ってODBC経由でアクセスすることが多いと思います。



 コードの例としては、ネットやVCのヘルプで「CDatabase」「CRecordset」を検索してください。
    • good
    • 0

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

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

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

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

QC++ の typedef の 使い方の質問

C++のtypedefの使い方の質問ですが、typedefは、別名の定義として、知られていますが。
以下のソースの意味がよく読み取れないです。windows プログラミングとC++
が分かるかたがいれば、以下のソースの意味を教えていただきたいです。

よろしくお願いします。
typedef BOOL (WINAPI *AddAccessAllowedAceFn)(
PACL pAcl,
DWORD dwAceRevision,
DWORD AceFlags,
DWORD AccessMask,
PSID pSid
);

Aベストアンサー

関数ポインタの別名定義です。
「関数ポインタ typedef」をキーワードにWeb検索してみてください。
丁寧に解説されているサイトが見つかるでしょう。

QVC++でSELECT文の実行結果を表示

開発環境は
OS XPのHomeEditon
Visual C++ ExpressEdition
SQL Server 2005 Express
です。
よろしくお願いします。



#include "stdafx.h"
#include <stdio.h>
#include <windows.h>
#include <string>
using namespace System;
using namespace System::Data;
using namespace System::Data::SqlClient;
char a;


void sub( SqlDataReader ^objRd )
{
System::Diagnostics::Debug::WriteLine(objRd);
while( objRd->Read() ) {
System::Diagnostics::Debug::WriteLine(objRd->Read());
}
}


int main(void){
String^ str;
SqlConnection^ sqlConn = gcnew SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\SOUTUKEN\\TEST.mdf;Integrated Security=True;User Instance=True");
sqlConn->Open();
str = "SELECT * FROM table1";
SqlCommand^ sqlCmd = gcnew SqlCommand(str,sqlConn);
SqlDataReader^ exeReader = sqlCmd->ExecuteReader();

sub( exeReader );
sqlConn->Close();
}

これの実行結果がboolean形で帰ってくるのですがこれを表内のデータが帰ってくるようにしたいのです。
少し知識不足なところもありますがどうかよろしくお願いします。

開発環境は
OS XPのHomeEditon
Visual C++ ExpressEdition
SQL Server 2005 Express
です。
よろしくお願いします。



#include "stdafx.h"
#include <stdio.h>
#include <windows.h>
#include <string>
using namespace System;
using namespace System::Data;
using namespace System::Data::SqlClient;
char a;


void sub( SqlDataReader ^objRd )
{
System::Diagnostics::Debug::WriteLine(objRd);
while( objRd->Read() ) {
System::Diagnostics::Debug::WriteLine(objRd->Read()...続きを読む

Aベストアンサー

> System::Diagnostics::Debug::WriteLine(objRd->Read());
ではダメですよ

System::Diagnostics::Debug::WriteLine(objRd["列名"]->ToString());
または
System::Diagnostics::Debug::WriteLine(objRd[列番号]->ToString());
といった具合にします

QC++.NET の String型の使い方

初めて質問いたします。
C++ .NET 2005 Express Beta版を入手し、Windows Formsのプログラミングを勉強してます。

TextBoxのTextに値を変数で指定したいのですがどうすれば良いのかわかりません。

  textBox1->Text = "Test";
とダイレクトに値を指定すればできるのですが、

  #include <string>
  using namespace std;
   (省略)
  string str = "Test";
  textBox1->Text = str;
は、エラーになってしまいます。

C++標準のstringクラスではなく、.NETはStringクラスがあるようですが、これの使い方がMSDN等で調べているのですが分かりません。
分かりやすいURLなどありましたら教えていただけませんか。

Aベストアンサー

textBox1->Text = new String(str.c_str());
でいけるんじゃないかなあ。
試してないのでなんですが、
C++のstringクラスからは、c_str()で、いわゆるNULL終端文字列へのポインタが得られて
.NETのStringクラスは、NULL終端文字列でのコンストラクタがありますから。

QVC++でSQLへSELECT文を送ったのですが…

#include "stdafx.h"
#include <stdio.h>
#include <windows.h>
#include <string>
using namespace System;
using namespace System::Data;
using namespace System::Data::SqlClient;
char a;

int main(void)
{
String^ str;
SqlConnection^ sqlConn = gcnew SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\○○\\test.mdf;Integrated Security=True;User Instance=True");
sqlConn->Open();
str = "Select test FROM Table1";
SqlCommand^ sqlCmd = gcnew SqlCommand(str,sqlConn);//
SqlDataReader^ ExecuteReader ();
sqlConn->Close();
}

int sub()
{
a = ExecuteReader;
printf (a,"表示テスト\n");
return 0;
}

の構文でSQL ServerへSELECT文を送り、そこで得た結果を
表示しようと思ったのですが

1>select-test.cpp
1>.\select-test.cpp(28) : error C2065: 'ExecuteReader' :
定義されていない識別子です。
1>.\select-test.cpp(29) : error C2664: 'printf' : 1 番目の引数を
'char' から 'const char *' に変換できません。
(新しい機能 ; ヘルプを参照)
1> 整数型からポインタ型への変換には
reinterpret_cast、C スタイル キャストまたは
関数スタイル キャストが必要です。


と2つのエラーを返されてしまいました。

開発環境は
OS XPのHomeEditon
Visual C++ ExpressEdition
SQL Server 2005 Express
です。
よろしくお願いします。

#include "stdafx.h"
#include <stdio.h>
#include <windows.h>
#include <string>
using namespace System;
using namespace System::Data;
using namespace System::Data::SqlClient;
char a;

int main(void)
{
String^ str;
SqlConnection^ sqlConn = gcnew SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\○○\\test.mdf;Integrated Security=True;User Instance=True");
sqlConn->Open();
str = "Select test FROM Table1";
SqlCommand^ sqlCmd = gcnew SqlCommand(str,sqlCo...続きを読む

Aベストアンサー

ごめんなさい ・・・ SqlCommandにExecuteはありませんね

SqlDataReader^ exeReader = sqlCmd->ExecuteReader();
ですね
subの呼び出しを
sub( exeReader );
とします

関数sub側は
void sub( SqlDataReader ^objRd )
{
  // DBより取得したレコードを取得する
  while( objRd->Read() ) {
    Console::Writeln( L"{0}", objRd[0] );
  }
}
といった具合にします

C++/CLIでは printfより Console::WriteやWiltelnのほうが親和性がいいでしょう

Qc++ stringの使い方

お世話になります。
最近c++始めました。
stringの使い方がよくわかりません。
以下のstringの使い方が問題ないか確認頂けますか。
スマホで書くため、文法が合ってないと思いますが、stringの使い方だけ確認させてください。
引数にstringで囲って渡すのは実装として普通行いますか。
やってはいけないですか。
是非ご教示ください。

#define STR1 "mojiretu"
main()
if(check(string(STR1)))



bool check(string str)

Aベストアンサー

間違っちゃいないけど、直に const string でかまわんのでは?

#include <iostream>
#include <string>

const std::string STR1 = "mojiretu";

bool even_length(const std::string& str) {
return str.length() % 2 == 0;
}

int main() {
if ( even_length(STR1) ) {
std::cout << STR1 << " : even\n";
} else {
std::cout << STR1 << " : odd\n";
}
}

QVC++ (ADO) で Access の Yes/No 型の Select 文

http://www.alpha-net.ne.jp/users2/uk413/vc/VCT_ADO.html
を参考にして VC++ 2005 .NET (ADO 接続)にて Access を操作しています。

Select 文にて Access の Yes/No 型を判定したいのですが、WHERE 句を
どのように書けばよいのかわかりません。
WHERE field_name = Yes (または 'Yes', 1 など)
で書いてみているのですがうまくいきません。

どのように記述すればよいのかご存知の方がいらっしゃいましたらご教示
願えないでしょうか。
よろしくお願いいたします。

Aベストアンサー

Yes/No 型という名前が紛らわしいですが、
SQL文で扱う場合の値は True / False です。

Accessでの書式は、True/Flase、Yes/No、On/Offが
選択でき、表示上 Yes/No にする事も可能です。

しかし、「書式」は見た目だけの問題で、
内容は常に True / False で判定できます。

-1 / 0 でのチェックも、問題ないかもしれませんが、
わざわざ使う必要はないと思います。

----Yesの判定----

WHERE field_name = True

もしくは、単に下記でもOK。

WHERE field_name

----Noの判定----

WHERE field_name = False

もしくは、Notを使い下記。

WHERE NOT field_name

QVisial C++おけるπの使い方

自宅でCプログラミングの練習をするためVisial C++ 2008を使って
プログラムをしています。y<sin(πx)となった時の
割合などを計算するプログラムで                「M_PIが定義されていない識別子です」
とでてきます。所持している本を参考にしてもM_PI=πとして用いる
と書いてあり、math.hもインクルードしてるので原因が分からなくて
困ってます。Visial c++ではπの使い方には何か別の使い方がある
のでしょうか?よろしくお願いします。
*↓が実際に作ったプログラムです。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>

int main(void){
int i,n,count=0;
double x,y,r,error;

srand((unsigned)time(NULL)); /*乱数の初期化*/

printf("How many trials?");
scanf("&d",&n);

for(i=0;i<n;i++){
x=rand()/(RAND_MAX+1.0);
y=rand()/(RAND_MAX+1.0);

if(y<sin(M_PI*x)){
count++;
}
}

r=(double)count/n; /*キャスト演算子を使用*/
error=2/M_PI-r;

printf("Result is %f (Error: %f)\n",r,error);

return 0;
}

自宅でCプログラミングの練習をするためVisial C++ 2008を使って
プログラムをしています。y<sin(πx)となった時の
割合などを計算するプログラムで                「M_PIが定義されていない識別子です」
とでてきます。所持している本を参考にしてもM_PI=πとして用いる
と書いてあり、math.hもインクルードしてるので原因が分からなくて
困ってます。Visial c++ではπの使い方には何か別の使い方がある
のでしょうか?よろしくお願いします。
*↓が実際に作ったプログラムです。
#include ...続きを読む

Aベストアンサー

★アドバイス
・math.hをインクルードする前に『_USE_MATH_DEFINES』定数を define します。

#define _USE_MATH_DEFINES
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>

int main( void )
{
 :
 return 0;
}
必ず include する前に定義して下さい。

QVCとVC++

VCっていうのはただのCとどう違うのですか?
同じくC++とVC++の違いも教えてください。
よろしくお願いします。

Aベストアンサー

VCというと一般的にVisual C++の事を指し、Visual Cというものは在りません。
(ちなみに最近ではVC++とは別にVisual C#.netというものがありますが
こちらはVC#と呼ぶそうです。)

VCはWindows系のソフトを作るための言語であり、
ソフトのウインドウの骨格を作ったりする事がコードの記述無しで
自動で作成してくれる機能などがあらかじめ備わっています。
コード自体はC言語で記述していくため、VCを扱うには
C言語の基本的な知識も必要になります。

QcygwinでのC++の使い方

cygwinでC言語で書いたプログラムを実行したいのですがcygwinを起動すると
私の名前@なにやらアルファベット
が表示され次の行に

と表示されるんですがこの後にどんなことを書けば
#include<・・・>
としてC++のプログラムを書いていくことができるんですか?そもそもcygwinの使い方が根本的に違うんですかねえ?それともメモ帳かなんかにプログラムを書き保存しそれをcygwinで実行するんですかねえ?とりあえずプログラムを実行できるようにしてください。おねがいします。

Aベストアンサー

> それともメモ帳かなんかにプログラムを書き保存しそれをcygwinで実行するんですかねえ?

おおむねその通りです。

メモ帳でも何でもよいので、エディタでソースファイルを作成してください。作成したソースファイルは、とりあえずホームディレクトリに格納するとよいでしょう(C:\cygwinにCygwinをインストールしたのであれば、C:\cygwin\home\アカウント名がホームディレクトリになります)。

作成したソースファイルがfoo.cppだった場合、

g++ foo.cpp

とすれば、a.exeという実行ファイルが同じディレクトリにできるはずです。そこで、

./a

と入力すれば、a.exeを実行することができます。

QVC6.0からVC7.0への移植

VisualStudioでプログラムしています。
このたび、VC6.0で作ったプログラムをVC7.0(.NET?)に移植しようとしたところ、
「MSVCIRTD.LIBがありません」とエラーが出たので、
Microsoft Visual Studio\VC98\LibにあったMSVCIRTD.LIBをコピーしてコンパイルを通したのですが、
今度はvc60.pdbが見つからないというwarningが出てしまいます。
warningなので無視して実行しようとすると、
強制終了してしまいます。

VC6.0で作ったプログラムのファイル構成と比べると、
確かにvc70.pdbはあるのですが、vc60.pdbはありません。
ご存知の方がいましたら、問題の解決方法をご教授くださいよろしくお願いします。

Aベストアンサー

visual studio c++.net ですよね
(MSVCIRTD.LIB)
msvcirtd.libは
C:\Program Files\Microsoft Visual Studio .NET\Vc7\lib
にありますよ
ほかのサンプルでためして、同じようでしたら
インストールがおかしいのではないでしょうか


人気Q&Aランキング

おすすめ情報