質問: vc++でsql serverに接続するにはどのようにしたらよいでしょ vc++でsql serverに接続するにはどのようにしたらよいでしょうか? dbもvisual studioも初心者なのでまったくわかりません。 開発環境は microsoft visual c++ 2008 standard edition os xp sp3 microsoft sql server プロジェクトの種類はwin32コンソールアプリケーションかmfcアプリケーションのダイアログベースです。 接続できるならどちらでもよいです。 接続の他にもdbに入れらているデータを取得する方法もわからないです。 本当に初心者なので丁寧に教えていただけると大変助かります。 よろしくお願いいたします。
回答: こんにちは。 以下を参考にしてください。 http://support.microsoft.com/kb/818779/ja 私は面倒なc++はいやなので、もっぱらc#で開発しています。 しかし、microsoftの言によればc++でも同様の開発ができるはずなので、 試しにやってみましたが、私の場合は下記コードでconsoleアプリケーションとしては うまくいきました。 確かにできるのですが、同じコードを書くならc#の方がずっと楽です。 何が楽かと言うと、インテリセンスがめちゃくちゃ強力だからです。 私の場合、sqlserverのdbである「放送大学記録」にはいくつかのテーブルがあり、 テーブル「dbo.テレビ講義一覧」は dvd bit型 講義名 nvarchar(255) よみがな nvarchar(255) の3つの列で構成されています。 // c++consolesoltest.cpp : メイン プロジェクト ファイルです。 // this is the main project file for the vc++ application project // that is generated by using the application wizard. #include "stdafx.h" #using #include #using #using #using using namespace system; using namespace system::data; using namespace system::xml; using namespace system::collections; using namespace system::data::sqlclient; int _tmain(void) { sqlconnection* objconn; try { objconn = new sqlconnection("data source=ichhabehunger\\sqlexpress;initial catalog=放送大学記録;integrated security=true"); objconn->open(); sqldataadapter* dadp = new sqldataadapter("select * from テレビ講義一覧", objconn); dataset* dset = new dataset("講義"); dadp->fillschema(dset,schematype::source, "講義"); dadp->fill(dset,"講義"); datatable* dtbl = dset->tables->item["講義"]; ienumerator* ienum = dtbl->rows->getenumerator(); while(ienum->movenext()) { console::writeline("{0} {1}",dynamic_cast(dynamic_cast(ienum->current)->get_item("講義名")), dynamic_cast(dynamic_cast(ienum->current)->get_item("よみがな"))); } } catch(exception *ex) { console::writeline( ex->message ); } __finally { objconn->close(); } return 0; } 参考url:http://support.microsoft.com/kb/818779/ja