数据库SQL Server 2008与VC6.0怎么连接?(由于刚刚接触vc 尽量具体一些)

 我来答
nodeep
推荐于2017-09-23 · 超过17用户采纳过TA的回答
知道答主
回答量:56
采纳率:0%
帮助的人:41.1万
展开全部
ADO操作SQL

1.导入相关库文件(一般在StdAfx.h中导入)
#import "c:\program files\common files\system\ado\msado15.dll" \
no_namespace \
rename("EOF","adoEOF")

2.初始化COM库(一般在InitInstance()中初始化)
BOOL CXXXXAPP::InitInstance()
{
AfxOleInit();
...........
return FALSE;
}

3.实例化连接对象
3-1:定义一个成员变量(_ConnectionPtr m_pConnect;)

3-2:实例化m_pConnect
BOOL CXXXDLG::OnInitDialog()
{
m_pConnect.CreateInstance(__uuidof(Connection));
......
return TRUE;
}

4.连接数据库
try
{
m_pConnect->Open("Provider=SQLOLEDB;Data Source=服务器;Initial Catalog=数据库;","sa","123456",-1);
MessageBox("连接数据库成功");
}

catch(_com_error e)
{
AfxMessageBox(e.ErrorMessage());
return;
}

5.数据库操作
m_pConnect->Execute("delete from TBL_CONNECTLOGS",NULL,adCmdText);

6.关闭连接
void XXXX::OnDestroy()
{
if(m_pConnect->State)
{
m_pConnect->Close();
}
m_pConnect=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);
07365311111
2011-06-01 · TA获得超过2890个赞
知道小有建树答主
回答量:705
采纳率:0%
帮助的人:879万
展开全部
// 连接指针
static _ConnectionPtr m_FaxDataLink=NULL;

// 初始化数据库
BOOL CDataBase::FaxIniDataLink(CString BaseName,CString Name,CString Code)
{
CString SQL="Driver={SQL Server};Server=150.0.1.131;Uid Id=;Pwd=;Database=餐饮管理";
// _bstr_t source("Driver={SQL Server};Server=150.0.1.131;Uid Id=;Pwd=;Database=Northwind");
// 数据库连接字符串(数据库名称,登陆名称,登陆密码)维修服务管理系统数据库
_bstr_t conn = SQL;
_bstr_t name;
_bstr_t code;
try
{
// 创建连接智能指针"ADODB.Connection"
hr = m_FaxDataLink.CreateInstance(__uuidof(Connection)) m_FaxDataLink -> Open(conn, "", "", -1);
// 设置连接超时
m_FaxDataLink->PutCommandTimeout(5);
}
catch (_com_error & error)
{
// 出错处理
AfxMessageBox(error.ErrorMessage());
return 0;
}
return 1;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
无名小僧89312
2011-06-01 · 超过13用户采纳过TA的回答
知道答主
回答量:50
采纳率:0%
帮助的人:43.5万
展开全部
我用的是sql 2000,用的ADO技术,网上很多介绍啊 ,自己看看吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式