您的位置:首页 > 数据库 > Oracle

使用odbc连接oracle,sqlserver和access

2012-08-03 09:38 507 查看
#include <afx.h>

#include <afxdb.h> //封装了odbc api

#define _ORACLE

int main(int argc, char* argv[])

{

CDatabase db;

CString strConnect;

#ifdef _ORACLE

strConnect = "Driver={Microsoft ODBC for Oracle};Server=myserver;Uid=myuser;Pwd=mypwd;";

#elif _SQLSERVER

strConnect = "Driver={SQL Server};Server=192.168.0.100;Address=192.168.0.100,2966;Network=dbmssocn;Database=mydb;Uid=myuser;Pwd=mypwd;"; //dbmssocn Win32 Winsock TCP/IP,2966是数据库开放的端口,192.168.0.100为数据库所在机器IP,如为本机可用回环地址127.0.0.1替代。

#else

strConnect = "Driver={Microsoft Access Driver (*.mdb)};Dbq=d:\\mydb.mdb;Uid=;Pwd=mypwd;";

#endif

try

{

if (db.OpenEx(strConnect))

{

CRecordset rs(&db);

rs.Open(CRecordset::dynaset,"SELECT username,password FROM tblogin");

CString strUserName,strPassword;

while (!rs.IsEOF())

{

//也可以通过字段名来获取,注意odbc对字段名大小写敏感

rs.GetFieldValue((short)0,strUserName);

rs.GetFieldValue(1,strPassword);

std::cout<<strUserName.Trim()<<":"<<strPassword.Trim()<<std::endl;

rs.MoveNext();

}

rs.Close();

db.Close();

}

}

catch(CDBException *e)

{

char szErrMsg[1024];

e->GetErrorMessage(szErrMsg,1024);

AfxMessageBox(szErrMsg);

}

catch(...)

{

}

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: