谁能告诉我——如何建立与Sqlserver的连接(ODBC) 我以前是用MFC的向导建的CRecordSet和CRecordView这样对多记录集操作很不方便,可能是我使用的有问题吧我想不用向导,自己在任意一个工程里都可以对数据库进行操作请问应如何处理?最好给个例子尤其是创建某些对象时需要哪个的头文件请告知! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 使用ADO吧,www.codeproject.com上有很多资料的 建立连接用CDatabaseCDatabase db;db.Open();网上有很多的例子 CDatabase myDB;CString strCon;strCon = "DSN=ODBC名;UID=用户名;PWD=密码";try{ myDB.OpenEx(strCon,CDatabase::noOdbcDialog);}catch(CDBException * pEx){ TRACE("RetCode:%d strError:[%s] strState:[%s]\n", pEx -> m_nRetCode, pEx -> m_strError, pEx -> m_strStateNativeOrigin);}CRecordset mySet(&myDB);CString strsql;try{ strsql = "select * from 表名"; mySet.Open(AFX_DB_USE_DEFAULT_TYPE,strsql); 操作mySet.......}CATCH(CDBException,pEx){ pEx->ReportError(); pEx->Delete();}END_CATCH;if(mySet.IsOpen()) mySet.Close();if(myDB.IsOpen()) myDB.Close(); To: ff2002(朵朵) 我是想把我的程序做成一个服务(我也不是很明白),就是VC里的ATL COM AppWizard的一个服务工程,我想在这里面连接数据库和对数据库进行读写操作,可是我在这个工程里无法创建CDatabase的对象(不包含其头文件),包含了之后就出现了另一个错误. 无论使用CDatabase还是CRecordSet都要用到#include <afxdb.h>,怎么会出现可以创建CRecordSet却不能用CDatabase的情况呢? 能创建CRecordSet倒好了,我是在class CServiceModule : public CComModule这样的一个工程里添加的,当我包含了#include <afxdb.h>之后,编译就会出错:fatal error C1189: #error : WINDOWS.H already included. MFC apps must not #include <windows.h> 对你程序的具体情况不了解,不好说了;一般像CDatabase和CRecordSet的使用都是经过无数实践的,都是格式化的东西了,你的程序一定是其它地方和这个冲突。 #include <afxdb.h>放在专门的头文件里stdafx 问题很简单,laiyiling(最熟悉的陌生人),一语道破!谢拉! 对话框操作图像后,如何将操作结果图像显示到程序的主窗口? 如何获取外网IP? 如何根据一个IP地址查出该地址的所在地? 100分,请问如何用程序实现论坛登陆的过程?解决问题立即给分 !!!!问一个c#中调用COM组件的问题!!!!! 如何用SendMessage向另一个程序窗体上面的按钮发送点击? 这是为什么啊! 快死了,分割视的问题,帮帮忙吧 请问如何将bmp转成jpg文件 如何读VC的经典书书籍效率高? 服务程序如何显示窗口界面? 耦合???怎么解决啊!!11
db.Open();网上有很多的例子
CString strCon;
strCon = "DSN=ODBC名;UID=用户名;PWD=密码";
try
{
myDB.OpenEx(strCon,CDatabase::noOdbcDialog);
}
catch(CDBException * pEx)
{
TRACE("RetCode:%d strError:[%s] strState:[%s]\n",
pEx -> m_nRetCode,
pEx -> m_strError,
pEx -> m_strStateNativeOrigin);
}CRecordset mySet(&myDB);
CString strsql;
try
{
strsql = "select * from 表名";
mySet.Open(AFX_DB_USE_DEFAULT_TYPE,strsql);
操作mySet.......
}
CATCH(CDBException,pEx)
{
pEx->ReportError();
pEx->Delete();
}
END_CATCH;if(mySet.IsOpen())
mySet.Close();
if(myDB.IsOpen())
myDB.Close();
我是想把我的程序做成一个服务(我也不是很明白),就是VC里的ATL COM AppWizard的一个服务工程,我想在这里面连接数据库和对数据库进行读写操作,可是我在这个工程里无法创建CDatabase的对象(不包含其头文件),包含了之后就出现了另一个错误.
一般像CDatabase和CRecordSet的使用都是经过无数实践的,都是格式化的东西了,你的程序一定是其它地方和这个冲突。