求助简单的数据库链接

u013081817 2014-06-21 08:58:34
周一就要交作业啦。。求助大神。。有没有傻瓜式的一步一步教数据库连接的教程,或者哪位大神愿意教下我。。。只要一个登陆界面,然后能查询到数据库一个表的信息就可以了。。。。求助啊。。。。
...全文
148 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
HUSTYZHY 2014-06-22
  • 打赏
  • 举报
回复
MFC界面找我要,加我QQ
HUSTYZHY 2014-06-22
  • 打赏
  • 举报
回复
ADO操作SQL Visual C++提供了多种多样的数据库访问技术——ODBC API、MFC ODBC、DAO、OLE DB、ADO等。 其中ADO技术是基于OLE DB的访问接口,它继承了OLE DB技术的优点,并且,ADO对OLE DB的接口作了封装,定义了ADO对象,使程序开发得到简化,ADO技术属于数据库访问的高层接口。 1.导入相关库文件(一般在StdAfx.h中导入) #import "c:\program files\common files\system\ado\msado15.dll" \ no_namespace \ rename("EOF","adoEOF") 在#ifdef _UNICODE前面 2.初始化COM库(一般在InitInstance()中初始化) BOOL CadoconnectionApp::InitInstance() { CWinApp::InitInstance(); AfxOleInit();//初始化COM库 AfxEnableControlContainer(); } 3 接口简介 ADO库包含三个基本接口: __ConnectionPtr接口 创建数据库连接 __CommandPtr接口 执行SQL命令 __RecordsetPtr接口 返回结果集   __ConnectionPtr接口返回一个记录集或一个空指针。通常使用它来创建一个数据连接或执行一条不返回任何结果的SQL语句,如一个存储过程。用__ConnectionPtr接口返回一个记录集不是一个好的使用方法。   __CommandPtr接口返回一个记录集。它提供了一种简单的方法来执行返回记录集的存储过程和SQL语句。在使用__CommandPtr接口时,可以利用全局__ConnectionPtr接口,也可以在__CommandPtr接口里直接使用连接串。如果只执行一次或几次数据访问操作,后者是比较好的选择。但如果要频繁访问数据库,并要返回很多记录集,那么,应该使用全局__ConnectionPtr接口创建一个数据连接,然后使用__CommandPtr接口执行存储过程和SQL语句。   __RecordsetPtr是一个记录集对象。与以上两种对象相比,它对记录集提供了更多的控制功能,如记录锁定,游标控制等。同__CommandPtr接口一样,它不一定要使用一个已经创建的数据连接,可以用一个连接串代替连接指针赋给__RecordsetPtr的connection成员变量,让它自己创建数据连接。如果要使用多个记录集,最好的方法是同Command对象一样使用已经创建了数据连接的全局—ConnectionPtr接口,然后使用__RecordsetPtr执行存储过程和SQL语句。 4.连接数据库 在对话框 public: _RecordsetPtr m_pRecordset; _ConnectionPtr m_pConnection; _CommandPtr m_pCommand; 在类的构造函数中创建: m_pConnection.CreateInstance(__uuidof(Connection)); m_pRecordset.CreateInstance(__uuidof(Recordset)); m_pCommand.CreateInstance(__uuidof(Command)); BOOL CADODlg::OnInitDialog() { CDialogEx::OnInitDialog(); // TODO: Add extra initialization here try { m_pConnection->ConnectionTimeout=10; m_pConnection ->Open("Provider=SQLOLEDB;Data Source= PC-20140312ZLBA;Initial Catalog=CNCDB","dbaccess","dbaccess",adModeUnknown); ///连接数据库 MessageBox( L"连接数据库成功"); } catch(_com_error e) { AfxMessageBox(_T("连接数据库失败!")); return TRUE; } return TRUE; // return TRUE unless you set the focus to a control } 5.数据库操作 m_pConnection ->Execute("delete from TBL_CONNECTLOGS",NULL,adCmdText); 6.关闭连接 void XXXX::OnDestroy() { if(m_pConnection ->State) { m_pConnection ->Close(); } m_pConnection =NULL; } 补充:连接字符串的模式 一般模式 "Provider=SQLOLEDB;Data Source=服务器;Initial Catalog=数据库;uid=SQL用户名;pwd=SQL密码;" 信任模式 "Provider=SQLOLEDB;Data Source=服务器;Initial Catalog=数据库;Integrated Security=SSPI;" 网络模式 "Provider=SQLOLEDB;Data Source=IP地址,端口;Network Library=DBMSSOCN;Initial Catalog=数据库;UserID=用户名;Password=密码;" 注意看下面这两种写法,其实是一个意思: m_pConnect->Open("Provider=SQLOLEDB;Data Source=服务器;Initial Catalog=数据库;","sa","123456",-1); m_pConnect->Open("Provider=SQLOLEDB;Data Source=服务器;Initial Catalog=数据库;uid=sa;pwd=123456;","","",-1);
u013081817 2014-06-22
  • 打赏
  • 举报
回复
引用 1 楼 hhhh63 的回复:
在项目名称上点右键-》添加类-》MFC->MFC ODBC使用者,然后按提示操作,如果能数据库不太熟,建议用ACCESS数据库。
引用 2 楼 zyq5945 的回复:
这个连接里的第一个例子
呃。。。有没有ADO链接sql 2005的教程呢?老师要求我们要用sql 2005的
zyq5945 2014-06-22
  • 打赏
  • 举报
回复
ACCESS和SQL SERVER的ADO操作都差不都,就是换下连接字符串就可以了。可以试试用ADO助手来获取连接字符串。
hhhh63 2014-06-22
  • 打赏
  • 举报
回复
用sqlserver也一样,建一个类就行
zyq5945 2014-06-21
  • 打赏
  • 举报
回复
hhhh63 2014-06-21
  • 打赏
  • 举报
回复
在项目名称上点右键-》添加类-》MFC->MFC ODBC使用者,然后按提示操作,如果能数据库不太熟,建议用ACCESS数据库。

4,011

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧