VC 如何连接 SQL Server 现要利用VC开发一个SQL Server2005数据库的程序,有没有讲这方面的书或文章?想系统的学习一下。谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 vckbase上有介绍ado的文章,多看看吧 http://www.mythcpp.com/show.php?tid=1看看这个例子,很简单! 1.在工程的Cxx.cpp(在A工程中的CAApp类中)的InitInstance()函数中 /*********初始化COM库***************/ 在MFC中可以用AfxOleInit(); 非MFC环境中用: CoInitialize(NULL); CoUnInitialize(); 2.在StdAfx.h中 #import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF")3.为程序添加数据库连接函数OnInitADOConn(),函数名可以任取void CDataConDlg::OnInitADOConn(){ /***********连接数据库**************/ try { m_pConnection.CreateInstance("ADODB.Connection"); /*****************Catalog为你的数据库的名称**********************************/ CString strConnect="Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=FXL;Data Source=.;"; m_pConnection->Open((_bstr_t)strConnect,"","",adModeUnknown); } catch(_com_error e) { AfxMessageBox(e.Description()); } /************数据库连接成功********************/}4.需要操作数据库时: a.添加成员变量 _ConnectionPtr m_pConnection; _RecordsetPtr m_pRecordset; b.建立连接,创建记录集 OnInitADOConn(); //UpdateData(true); _bstr_t sql; sql="select * from FXL_YG";//FXL_YG为数据库中的表名 m_pRecordset.CreateInstance(_uuidof(Recordset)); m_pRecordset->Open(sql,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText); c.进行你需要的操作(本例是为数据库添加一条新的记录) try { m_pRecordset->AddNew(); m_pRecordset->PutCollect("编号",(_bstr_t)number); m_pRecordset->PutCollect("姓名",(_bstr_t)name); m_pRecordset->PutCollect("学历",(_bstr_t)culture); m_pRecordset->Update(); } catch(_com_error e) { AfxMessageBox("编号重复"); return; } d.关闭记录集和连接 m_pRecordset->Close(); m_pConnection->Close(); CoUninitialize();//关闭com http://www.vckbase.com/document/viewdoc/?id=496连接SQL数据库:m_pConnection->Open("Provider=SQLOLEDB.1;Server=192.168.1.6;DATABASE=mysql;UID=sa;PWD=;","","",adModeUnknown);其中Server是SQL服务器的名称,DATABASE是库的名称 连续的JPG封装成AVI(MJPG) 怎样拦截消息? 急!! 急,解决即散分,关于Activex控件串行化链表的问题 基于TCP的语音传输程序,发送方一开始发送语音,接收方Cpu占用就达30%左右? 请问如何通过程序更改硬盘的盘符,如D:改为E: 关于串口编程??? 如何复制一个结构啊? 小妹求教:打印图象时的确尺寸计算的一段代码分析。 请C程序员帮我看看以下代码。 vc如何访问windows段地址 使用回调函数类型的定时器 xml数据导入到数据库中,VC6.0+SQL Server
/*********初始化COM库***************/
在MFC中可以用AfxOleInit();
非MFC环境中用:
CoInitialize(NULL);
CoUnInitialize();
2.在StdAfx.h中
#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF")
3.为程序添加数据库连接函数OnInitADOConn(),函数名可以任取
void CDataConDlg::OnInitADOConn()
{
/***********连接数据库**************/
try
{
m_pConnection.CreateInstance("ADODB.Connection");
/*****************Catalog为你的数据库的名称**********************************/
CString strConnect="Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=FXL;Data Source=.;";
m_pConnection->Open((_bstr_t)strConnect,"","",adModeUnknown);
}
catch(_com_error e)
{
AfxMessageBox(e.Description());
}
/************数据库连接成功********************/}
4.需要操作数据库时:
a.添加成员变量
_ConnectionPtr m_pConnection;
_RecordsetPtr m_pRecordset;
b.建立连接,创建记录集
OnInitADOConn();
//UpdateData(true);
_bstr_t sql;
sql="select * from FXL_YG";//FXL_YG为数据库中的表名
m_pRecordset.CreateInstance(_uuidof(Recordset));
m_pRecordset->Open(sql,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
c.进行你需要的操作(本例是为数据库添加一条新的记录)
try
{
m_pRecordset->AddNew();
m_pRecordset->PutCollect("编号",(_bstr_t)number);
m_pRecordset->PutCollect("姓名",(_bstr_t)name);
m_pRecordset->PutCollect("学历",(_bstr_t)culture);
m_pRecordset->Update();
}
catch(_com_error e)
{
AfxMessageBox("编号重复");
return;
}
d.关闭记录集和连接
m_pRecordset->Close();
m_pConnection->Close();
CoUninitialize();//关闭com
连接SQL数据库:
m_pConnection->Open("Provider=SQLOLEDB.1;Server=192.168.1.6;DATABASE=mysql;UID=sa;PWD=;","","",adModeUnknown);其中Server是SQL服务器的名称,DATABASE是库的名称